我可能拥有最简单的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
如何解决此问题并实际获得答案?
这不是您的使用方式。
看看文档:https://scapy.readthedocs.io/en/latest/usage.html#arp-ping
arping("192.169.11.*")
您应该查找什么是ARP扫描。您不仅将数据包发送到单个IP,还发送到一个范围(使用子掩码)。
您可能使用了错误的子网。专用子网(RFC 1918)是
您可能打算这样做,这是一个专用IP地址
scan("192.168.11.117")
不是这个
scan("192.169.11.117")
这是一个公共IP地址。您也可能拥有此公共子网,在这种情况下,这是不相关的。
远程主机可能没有响应,因为该地址不存在该主机。确保再次检查您在arping
中使用其IP的目标是否在线且可访问。
您可以在命令行上使用arp -a
在* nix和Windows上检查arp映射:
$ arp -a
? (192.168.1.48) at 0:1b:78:20:ee:40 on en0 ifscope [ethernet]
? (192.168.1.66) at a4:77:33:88:92:62 on en0 ifscope [ethernet]
? (192.168.1.67) at 6c:33:a9:42:6a:18 on en0 ifscope [ethernet]
...
如果您尝试进行ARP扫描,则应查看Cukic0'ds的答案。