我使用了本答案中提到的脚本:3 way handshake in Scapy - 它是使用scapy框架构建的。这是该脚本的github要点:https://gist.github.com/tintinweb/8523a9a43a2fb61a6770
但是,我不确定为什么它不起作用,而curl
和telnet
命令用于相同的设置(网络流量:tcp dst / src ip和dst / src端口)它工作正常。
我的设置:
netcat -l 5555 (TCP) <---------- 127.0.0.1 ---------< curl http://127.0.0.1:5555
脚本输出:
ubunt@ubunt-MS-7A94:~/Desktop$ sudo python TCP_scapy.py
WARNING: No route found for IPv6 destination :: (no default route?)
DEBUG:__main__:init: ('127.0.0.1', 5555)
DEBUG:__main__:start
DEBUG:__main__:SND: SYN
DEBUG:__main__:RCV: None
DEBUG:__main__:RCV: None
None
DEBUG:__main__:SND: FIN
DEBUG:__main__:RCV: None
TCPDUMP输出:
> sudo tcpdump -i any -nn port 5555 -X
12:00:32.668429 IP 127.0.0.1.6320 > 127.0.0.1.5555: Flags [S], seq 905745200, win 8192, length 0
0x0000: 4500 0028 0001 0000 4006 7ccd 7f00 0001 E..(....@.|.....
0x0010: 7f00 0001 18b0 15b3 35fc 9330 0000 0000 ........5..0....
0x0020: 5002 2000 9a50 0000 P....P..
12:00:33.921969 IP 127.0.0.1.6320 > 127.0.0.1.5555: Flags [P.], seq 905745201:905745230, ack 0, win 8192, length 29
0x0000: 4500 0045 0001 0000 4006 7cb0 7f00 0001 E..E....@.|.....
0x0010: 7f00 0001 18b0 15b3 35fc 9331 0000 0000 ........5..1....
0x0020: 5018 2000 e90c 0000 494e 5445 4e54 494f P.......INTENTIO
0x0030: 4e41 4c20 4241 4420 5245 5155 4553 540d NAL.BAD.REQUEST.
0x0040: 0a0d 0a0d 0a .....
12:00:35.204787 IP 127.0.0.1.6320 > 127.0.0.1.5555: Flags [F], seq 905745230, win 8192, length 0
0x0000: 4500 0028 0001 0000 4006 7ccd 7f00 0001 E..(....@.|.....
0x0010: 7f00 0001 18b0 15b3 35fc 934e 0000 0000 ........5..N....
0x0020: 5001 2000 9a33 0000 P....3..
我发现btw / curl和scapy发送的数据包有两个不同之处:
ffff:ffff:ffff
并且curl发送0000:0000:0000
; 答案 0 :(得分:0)
环回接口(lo
)非常具体,注入工具(如Scapy)可能无法按预期工作。您应该尝试连接到远程主机而不是127.0.0.1
。