两天以来我一直在为此烦恼。我正在尝试将数据包内容与正则表达式 API 进行匹配:
packet_re = (r'.*RADIUS.*\s*Accounting(\s|-)Request.*(Framed(\s|-)IP(\s|-)Address.*Attribute.*Value: (?P<client_ip>\d+\.\d+\.\d+\.\d+))?.*(Username|User-Name)(\s|-)Attribute.*Value:\s*(?P<username>\S+).*')
packet1 = """
IP (tos 0x0, ttl 64, id 35592, offset 0, flags [DF], proto UDP (17), length 213)
10.10.10.1.41860 > 10.10.10.3.1813: [udp sum ok] RADIUS, length: 185
Accounting-Request (4), id: 0x0a, Authenticator: 41b3b548c4b7f65fe810544995620308
Framed-IP-Address Attribute (8), length: 6, Value: 10.10.10.11
0x0000: 0a0a 0a0b
User-Name Attribute (1), length: 14, Value: 005056969256
0x0000: 3030 3530 3536 3936 3932 3536
"""
result = search(packet_re, packet1, DOTALL)
Run Code Online (Sandbox Code Playgroud)
正则表达式匹配,但无法捕获Framed-IP-Address Attribute, client_ip=10.10.10.11。问题是Framed-IP-Address Attribute可以或不能放在包里。因此,该模式被包含在另一个以 …
我有一个帧的64字节十六进制流-
000A959D6816000A959A651508004500002E000000004006AF160A010101C0A8000A11D71EC6000000000000000050000000AD840000000102030405CC904CE3
Run Code Online (Sandbox Code Playgroud)
如何将其导入Wireshark并查看整个数据包?如果我将此流保存到文本文件并加载,那么导入十六进制转储的选项似乎不起作用。