0
RADIUS 서버에서 UDP 패킷을 구문 분석하려고하는데 Scapy, Pynids 및 pypcap을 포함한 다른 도구를 사용해 보았습니다. 문제의 일부는 Radius-Attributes가 올바르게 디코딩되지 않았고 일부는 디코딩 된 것입니다. 이것의 원인이 무엇일까요?파이썬은 어떻게 RADIUS 서버 패킷을 파싱합니까?
여기 내 코드입니다 :
from scapy.all import sniff, Radius
packets = sniff(iface='eth0', filter='udp', count=5)
packet = packets[0]
print packet.show()
그리고 여기 얻을 출력의 요약이다 : 미래 방문자를위한
###[ 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'
,하지만 난 인코딩 된 데이터를 얻을 :
이 내가 가진 응답 샘플입니다? – PachinSV
@PachinSV 이미 디코드 된 값이 아닌가? 내가 포함시킨 응답처럼? –
다음과 같은 값을 얻을 수 있습니다 : 80 [b '\ xac] bH \ x9c4L \ x04i \ xb2 \ x8a \ x9a] \ 012 \ x96 \ x95 \] – PachinSV