首页 > 解决方案 > 原始 ICMP 数据包显示没有答案,而 ping 消息确实得到回复

问题描述

我有以下脚本行将原始 ICMP 数据包发送到某个设备:

from scapy.all import sr1

pkt = IP(dst=device_ip) / ICMP()
sr1(pkt, timeout=5, verbose=0)

当我在我的 Windows 7 PC (Python 3.5.2) 中运行这些脚本行时,我总是得到我所期望的答案。但是,当我从我的 Windows 10 (Python 3.8.3) 运行相同的行时,有时我会得到答案。虽然我确定设备会响应 ICMP 请求(我看到 ICMP 用嗅探器回复)。顺便说一句,我什至尝试了 10 秒的 TO,并且我还尝试将iface与相关界面一起使用,但这并没有帮助。我知道工作站之间至少还有一个区别,Windows 7 有 Winpcap,Windows 10 有 Npcap(版本 0.999)。除此之外,两者都运行相同的 scapy 版本 2.4.3。

可能会出什么问题?

我需要从哪里开始寻找?

标签: pythonpython-3.xscapy

解决方案


推荐阅读