Ticket #92: radiuslib.py

File radiuslib.py, 2.1 kB (added by anonymous, 9 months ago)
Line 
1 radius_attribute_type = {
2         1:  "User-Name",
3         2:  "User-Password",
4         3:  "CHAP-Password",
5         4:  "NAS-IP-Address",
6         5:  "NAS-Port",
7         6:  "Service-Type",
8         7:  "Framed-Protocol",
9         8:  "Framed-IP-Address",
10         9:  "Framed-IP-Netmask",
11         10: "Framed-Routing",
12         11: "Filter-Id",
13         12: "Framed-MTU",
14         13: "Framed-Compression",
15         14: "Login-IP-Host",
16         15: "Login-Service",
17         16: "Login-TCP-Port",
18         17: "unassigned",
19         18: "Reply-Message",
20         19: "Callback-Number",
21         20: "Callback-Id",
22         21: "unassigned",
23         22: "Framed-Route",
24         23: "Framed-IPX-Network",
25         24: "State",
26         25: "Class",
27         26: "Vendor-Specific",
28         27: "Session-Timeout",
29         28: "Idle-Timeout",
30         29: "Termination-Action",
31         30: "Called-Station-Id",
32         31: "Calling-Station-Id",
33         32: "NAS-Identifier",
34         33: "Proxy-State",
35         34: "Login-LAT-Service",
36         35: "Login-LAT-Node",
37         36: "Login-LAT-Group",
38         37: "Framed-AppleTalk-Link",
39         38: "Framed-AppleTalk-Network",
40         39: "Framed-AppleTalk-Zone",
41         60: "CHAP-Challenge",
42         61: "NAS-Port-Type",
43         62: "Port-Limit",
44         63: "Login-LAT-Port",
45         70: "ARAP-Password",
46         75: "Password-Retry",
47         79: "EAP-Message",
48         80: "Message-Authenticator",
49         94: "Originating-Line-Info",
50         101:"Error-Cause"
51         }
52
53 class RadiusAttr(Packet):
54     name = "Radius Attribute"
55     fields_desc = [ ByteEnumField("type", 1, radius_attribute_type),
56                     FieldLenField("len", None, "value", "B", adjust=lambda pkt,x: x+2),
57                     StrLenField("value", "", length_from=lambda pkt: pkt.len-2)
58                     ]
59 bind_layers( UDP,           Radius,         sport=1812)
60 bind_layers( UDP,           Radius,         dport=1812)
61 bind_layers( UDP,           Radius,         dport=1813)
62 bind_layers( UDP,           Radius,         sport=1813)
63 bind_layers( Radius,        RadiusAttr,     )
64 bind_layers( RadiusAttr,    RadiusAttr,     )