title: Python how to parse RADIUS server packets?
body: <p>I'm trying to parse UDP packets from a RADIUS server and I've tried different tools including Scapy, Pynids and pypcap.The problem is some of the Radius-Attributes are not decoded properly and some of them are. What could be the cause of this?</p>
  
  <p>Here's my code:</p>
  
  <pre><code>from scapy.all import sniff, Radius
  
  packets = sniff(iface='eth0', filter='udp', count=5)
  packet = packets[0]
  
  print packet.show()
  </code></pre>
  
  <p>And here's the summary of the output I get:</p>
  
  <pre><code>###[ Ethernet ]### 
     dst       = 94:57:a5:53:ab:70
     src       = d4:ca:6d:ae:a0:66
     type      = 0x800
  ###[ UDP ]### 
     sport     = 38667
     dport     = radius
     len       = 205
     chksum    = 0x2bbd
  ###[ Radius ]### 
     code      = Access-Request
     id        = 80
     len       = 197
     authenticator= "T\xfb\x9c\t\x00 '\x14\xeb\x99\x84t\x9b\xb4\x83\x95"
     \attributes\
      |###[ Radius Attribute ]### 
      |  type      = Framed-Protocol
      |  len       = 6
      |  value     = '\x00\x00\x00\x01'
      |###[ Radius Attribute ]### 
      |  type      = NAS-Port
      |  len       = 6
      |  value     = '\x00\xf6\xa7\xf9'
      |###[ Radius Attribute ]### 
      |  type      = Called-Station-Id
      |  len       = 8
      |  value     = 'Dslam1'
      |###[ Radius Attribute ]### 
      |  type      = 87
      |  len       = 16
      |  value     = 'ether1-Dslam 1'
      |###[ Radius Attribute ]### 
      |  type      = Vendor-Specific
      |  len       = 24
      |  value     = '\x00\x00\x017\x0b\x12\x19\xfc4\xd01\xaf\x03\xd6\x0e!j\xa7H]\xdd;'
      |###[ Radius Attribute ]### 
      |  type      = NAS-Identifier
      |  len       = 15
      |  value     = 'TEH-P'
  </code></pre>