Python how to parse RADIUS server packets?
<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>