我正在尝试使用scapy进行隐形SYN扫描。我读了关于sr函数的scapy usage documantation。它应该对我发送的数据包给出响应 例如,我试图运行以下命令:
>>> ans,unans = sr(IP(dst="192.168.1.1")/TCP(dport=[22,80,443],flags="S"))
即,我想通过TCP / IP发送一个SYN数据包到192.168.1.1 我原本希望得到以下答案,几乎立即:
>>> Begin emission:
.......*.**.......Finished to send 3 packets.
**.*.*..*..................
Received 362 packets, got 3 answers, remaining 0 packets
但相反,我让它运行超过2分钟并且sr没有完成。此外,在强制停止(CTRL + C)后,我得到了以下答案:
Begin emission:
.Finished to send 3 packets.
......................................^C
Received 2040 packets, got 0 answers, remaining 3 packets
我还尝试了更多的例子,他们最终都是这样的 有谁知道为什么会这样?我该如何解决?我的网络配置有问题吗?
另外,我想补充一点,我已经在两台不同的计算机上尝试了两台不同的ubuntu VM,但是在同一个家庭网络上。
感谢。
答案 0 :(得分:1)
您需要添加超时选项,否则sr()将永远运行
ans,unans = sr(IP(dst="192.168.1.1")/TCP(dport=[22,80,443],flags="S", timeout =1))
超时:发送最后一个数据包后等待的时间。通过 默认情况下,sr将永远等待,用户将不得不中断 (CtrlC)当他期望没有更多答案的时候。