python - 原始 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。
可能会出什么问题?
我需要从哪里开始寻找?
解决方案
推荐阅读
- django - 在用户管理部分显示查询结果 - django
- kubernetes - k8s 从防火墙后面访问图像
- api - 是否有以编程方式激活 Google 照片“恢复存储”的 API?
- visual-studio-code - 如何在 VS Code 中为每个扩展设置不同的颜色主题?
- iframe - 如何使用 Google Analytics 跟踪 iFrame 网页浏览量?
- r - 对加权调查数据运行 svyranktest() 时出错。“系统在计算上是奇异的”?
- python - python3 create virtualenv 发现错误“ModuleNotFoundError: No module named '_ctypes'”
- javascript - touchableOpacity 取决于它是否处于活动状态
- r - 从函数内部的函数在数据框中进行更改
- smartcontracts - near-api-js:没有发件人帐户的合同连接