(1)直接发送
request = Ether()/IP(dst='123.125.114.144') / TCP(dport=http) / HTTP
直接这样发送不会建立 tcp 握手,所以不能请求 http
(2)如果选择先发送 SYN ,再发送 ACK 的话:
先发送 SYN
p=IP(dst=ip)/TCP(dport=port,flags='S')
pkt=sr1(p)
当我发送完 syn 后准备发送 ack 时,这时我的主机自动返回给服务器一个 RST 包,就无法建立连接了
求解 scapy 怎么建立 tcp 连接, google 的在发送完 syn 后貌似都不会自动发送一个 RST 重置,还能慢慢发 ack , 为什么我的就会立马回一个 RST 过去?
1
302790951 OP 周末都没人麽 T_T
|
5
302790951 OP @kqz901002 你看看这。。。。当我发送完 syn 后准备发送 ack 时,这时我的主机自动返回给服务器一个 RST 包,就无法建立连接了
|
6
tony1016 Aug 23, 2016
最近正在研究 Scapy ,搜到了这里,就顺便回答一下你的问题吧
Linux 和 Mac 似乎不同意绕过内核直接建立握手,所以当你发了一个 SYN 包后,内核会主动发一个 RST 包终止链接。解决方法就是用 iptables 或者 pfctl 拦截 RST 包 |
7
luoziluojun Nov 29, 2018
@tony1016 我在 windows 上也会又同样的问题
|