Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python如何使用scapy发送gtp数据包。我尝试转换gtp消息的现有十六进制流,但无法正确创建它_Python_Scapy_Telecommunication - Fatal编程技术网

Python如何使用scapy发送gtp数据包。我尝试转换gtp消息的现有十六进制流,但无法正确创建它

Python如何使用scapy发送gtp数据包。我尝试转换gtp消息的现有十六进制流,但无法正确创建它,python,scapy,telecommunication,Python,Scapy,Telecommunication,Python如何使用scapy发送gtp数据包。我尝试转换gtp消息的现有十六进制流,但无法正确创建它。 有一些链接,但上面没有ans。 刚刚尝试的快速示例, 第一个十六进制流如下所示 000c29dad1de000c29e3c64d08004500007c00004000401167bbc0a828b3c0a828b2086808680068bf6432ff00580000000128db0000450000540000400040015ea5ca0b289ec0a828b20800bee70

Python如何使用scapy发送gtp数据包。我尝试转换gtp消息的现有十六进制流,但无法正确创建它。 有一些链接,但上面没有ans。

刚刚尝试的快速示例, 第一个十六进制流如下所示

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,但我们仍然可以发送,即windowsnc

send(B, iface='Intel(R) Dual Band Wireless-N 7260')
因此,wireshark显示的随接口发送的数据包如下

找到了一种方法,只需从层中使用scapy gtp库即可。导入文件并创建GTP数据包,并通过scapy正常发送。从scapy.layers.gtp导入*ipipu=()gtp_pkt=GTPHeader(type=255,TEID=1232,length=len(ippdu))/ippdu