简单的Scapy脚本不发送数据包

时间:2019-10-05 16:05:32

标签: python scapy

我可能拥有最简单的Scapy脚本,但是它不起作用。请帮助:

import scapy.all as scapy

def scan(ip):
    scapy.arping(ip)
scan("192.169.11.117")

当它运行时,我得到:

Begin emission:
Finished sending 1 packets.

Received 0 packets, got 0 answers, remaining 1 packets

如何解决此问题并实际获得答案?

2 个答案:

答案 0 :(得分:0)

那不是你的用法。

看看文档: https://scapy.readthedocs.io/en/latest/usage.html#arp-ping

arping("192.169.11.*")

您应该查找什么是ARP扫描。您不仅将数据包发送到单个IP,还发送到一个范围(使用子掩码)。

答案 1 :(得分:0)

问题1

您可能使用了错误的子网。专用子网(RFC 1918

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

您可能打算这样做,这是一个专用IP地址

Navigator.of(context).maybePop();

不是这个

scan("192.168.11.117")

是公共IP地址。您也可能拥有此公共子网,在这种情况下,这是不相关的。

问题2

远程主机可能没有响应,因为该地址不存在该主机。确保再次检查您在scan("192.169.11.117") 中使用其IP的目标是否在线且可访问。

您可以通过在命令行上使用arping在* nix和Windows上检查arp映射

arp -a

确保目标IP $ arp -a ? (192.168.1.111) at 0:1b:78:20:ee:40 on en0 ifscope [ethernet] ? (192.168.1.112) at a4:77:33:88:92:62 on en0 ifscope [ethernet] ? (192.168.1.117) at 6c:33:a9:42:6a:18 on en0 ifscope [ethernet] ... 应该解决。


如果您尝试进行ARP扫描,则应查看Cukic0'ds答案。