目前我会玩一点 scapy、Qt 和 python。到目前为止,使用 VSC 启动程序时一切正常。 现在我尝试使用 PyInstaller 制作 .exe。它也有效,我得到了一个 .exe 文件,可以打开它并显示我的 Qt-Windows。但是当我使用 scapy 函数时,程序崩溃,没有任何消息,并且窗口关闭。 我激活了日志记录并发现,每次我们到达以下代码行时,程序都会崩溃:
ans, unans = sr(query, timeout=5)
使用此行应发送存储在查询变量中的 DNS 数据包。而且这一步只在exe中失败。
这些是我的 scapy 导入:
from scapy.layers.inet import IP, UDP
from scapy.layers.dns import DNS, DNSRR, DNSQR, DNSRROPT
from scapy.sendrecv import sr
from scapy.all import get_if_addr, conf
这是我构建 .exe 的命令行:
-m PyInstaller --onefile -w --exclude=PySide6 --hidden-import=scapy.layers.dns --hidden-import=scapy.layers.inet --hidden-import=scapy.sendrecv --hidden-import=scapy.all
--hidden-import=PyQt6 .\main.py
有人有什么想法吗? 我很迷失,这是我尝试构建 exe 的第一个应用程序..
非常感谢! 丹尼斯