python - ValueError:尝试使用 scapy + 代码创建 DNS 消息时解包的值太多(预期为 2)在 CMD 中使用时不返回任何内容
问题描述
我正在尝试创建一个使用 Scapy 进行 DNS 查询的函数。但我在创建查询时遇到了错误。
这是我的代码:
from scapy.layers.inet import IP, UDP
from scapy.layers.dns import DNS, DNSQR
from scapy.all import sr1
message = IP(dst="8.8.8.8") / UDP(dport=53, sport=8280) / DNS(rd=1, qd=DNSQR(qname=target), iface="eth1")
result = sr1(message, verbose=10)
print(result[DNS].summary())
我还注意到,当我在 CMD 中执行它时,我的代码根本没有返回任何 IP,它与我相信的问题没有任何联系,但它是一个问题,尽管你也可以修复它。
谢谢大家 :D
重要提示:我能够解决问题。似乎 Scapy 2.4.2 被窃听了。我在 PyCharm 2018 中使用了它,scapy 在识别我给他的接口时遇到了问题,即使它们应该被识别为有效接口。要解决这个问题,只需将您的版本降级到 2.4.0,它应该可以再次工作!:D
解决方案
推荐阅读
- string - 两列中每一对的 vsetdiff
- html - 导航栏折叠切换不起作用(Bootstrap5)
- javascript - 客户端 Javascript:是否可以在 DOM 中获取 HTML 元素的布局文本再现?
- ios - swiftui 在长按消息应用程序后将视图带到中心并模糊背景
- reactjs - 从 React Router v6 Navigate 检索状态
- r - R Shiny:有没有办法在用户输入中读取单个反斜杠?
- python - 我将如何测量/记录 keras / tensorflow 的人工神经网络算法的总训练时间?
- reactjs - 如何将地理位置传递给传单?
- php - 如何在表格中自动显示计数数据累积和残差数据?
- python - 为什么 python 2d 列表彼此共享它们的元素?