Scapy TCP握手-Windows

时间:2019-02-12 17:31:57

标签: python sockets winsock scapy raw-sockets

在试图在Scapy中执行tcp TWH时,遇到了一个问题。 当我的主机收到syn / ack时,内核ip / tcp堆栈会通过发送rst中止握手。 发生这种情况的原因是,由于scapy正在使用原始套接字,因此发送的第一个数据包(syn)对os是透明的。

在关于同一问题的其他一些问题中,解决方案是设置iptables以丢弃带有rst标志的数据包。

有人对Windows有解决方案吗? (我宁愿不要使用FW,除非别无选择)

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个常见的问题,它并不特定于Windows(或者Scapy,例如,您可能会遇到与Masscan类似的问题)。

您已经完全理解并描述了它:问题在于Scapy与主机IP堆栈之间“共享”的IP地址。

您有两个选择:

  • 使用防火墙阻止主机获取SYN / ACK数据包(Scapy仍会获取它),阻止主机发送RST数据包。
  • 使用Scapy使用其他IP地址。这有点困难,因为它需要某种ARP代理(或Scapy脚本)来回答ARP请求以获取与Scapy一起使用的IP地址。

希望这会有所帮助,祝您黑客愉快!