title: scapy sniff and decode diameter
body: <p>I am trying to do scapy/python sniffer for Diameter messages and parse Diameter part to get AVP's from Raw.load.
  After some fails I get back to basic python/scapy script like this:</p>
  <pre><code>from scapy.all import *
  
  def pkt_diam(pkt):
      raw = pkt.getlayer(Raw).load
      print raw
      # pkt.show()
  
  sniff(iface=&quot;eth0&quot;, filter=&quot;port 3868&quot;, store=0, prn=pkt_diam)
  </code></pre>
  <p>By printing raw.load I have received just some AVP's but very unreadable. If I use</p>
  <pre><code>pkt.show()
  </code></pre>
  <p>I receive whole packet, Ethernet, IP, TCP and Raw part but Raw.load is almost unusable.</p>
  <pre><code>###[ Raw ]###
          load      = '\x01\x00\x00\xec@\x00\x01/\x01\x00\x00\x00\x07K\x12\xca\x07K\x12\xca\x00\x00\x01\x07@\x00\x00 00000001;000001;61de2650\x00\x00\x01\x04@\x00\x00 \x00\x00\x01\n@\x00\x00\x0c\x00\x00(\xaf\x00\x00\x01\x02@\x00\x00\x0c\x01\x00\x00\x00\x00\x00\x01\x15@\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x01\x08@\x00\x00\x1dtest.a-server.org\x00\x00\x00\x00\x00\x01(@\x00\x00\x14a-server.org\x00\x00\x01)@\x00\x00 \x00\x00\x01\n@\x00\x00\x0c\x00\x00(\xaf\x00\x00\x01*@\x00\x00\x0c\x00\x00\x13\x89\x00\x00\x02t\x80\x00\x008\x00\x00(\xaf\x00\x00\x01\n@\x00\x00\x0c\x00\x00(\xaf\x00\x00\x02u\x80\x00\x00\x10\x00\x00(\xaf\x00\x00\x00\x01\x00\x00\x02v\x80\x00\x00\x10\x00\x00(\xaf\x00\x00\x00\x05'
  </code></pre>
  <p>I need some help to parse and decode Diameter Raw.load message.
  Thx in advance</p>