Python如何使用scapy发送gtp数据包。我尝试转换gtp消息的现有十六进制流,但无法正确创建它。 有一些链接,但没有ans就在上面。 scapy not parsing GTP layers
答案 0 :(得分:0)
快速举例试过, 第一个十六进制流如下
000c29dad1de000c29e3c64d08004500007c00004000401167bbc0a828b3c0a828b2086808680068bf6432ff00580000000128db0000450000540000400040015ea5ca0b289ec0a828b20800bee70000287b0411204bf43d0d0008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637
进入scapy交互模式并将上述十六进制流分配给变量
a = '000c29dad1de000c29e3c64d08004500007c00004000401167bbc0a828b3c0a828b2086808680068bf6432ff00580000000128db0000450000540000400040015ea5ca0b289ec0a828b20800bee70000287b0411204bf43d0d0008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'
b = a.decode('hex')
B = Ether(b)
B.show()
###[ Ethernet ]###
dst= 00:0c:29:da:d1:de
src= 00:0c:29:e3:c6:4d
type= 0x800
###[ IP ]###
version= 4L
ihl= 5L
tos= 0x0
len= 124
id= 0
flags= DF
frag= 0L
ttl= 64
proto= udp
chksum= 0x67bb
src= 192.168.40.179
dst= 192.168.40.178
\options\
###[ UDP ]###
sport= 2152
dport= 2152
len= 104
chksum= 0xbf64
###[ Raw ]###
load= '2\xff\x00X\x00\x00\x00\x01(\xdb\x00\x00E\x00\x00T\x00\x00@\x00@\x01^\xa5\xca\x0b(\x9e\xc0\xa8(\xb2\x08\x00\xbe\xe7\x00\x00({\x04\x11 K\xf4=\r\x00\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./01234567'
这里scapy没有剖析并显示GPRS,但我们仍然可以发出,即windows nc
send(B, iface='Intel(R) Dual Band Wireless-N 7260')