Python、Scapy 并导出到 .exe

问题描述 投票:0回答:1

目前我会玩一点 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 的第一个应用程序..

非常感谢! 丹尼斯

python pyinstaller scapy
1个回答
0
投票

首先,请删除

-w
并重新构建exe。

其次,打开cmd窗口,将exe拖放到其上,然后按Enter键运行exe。再次尝试 scapy 函数,错误消息应该会显示。 drag and drop the exe

最后,解决错误并构建exe仍然没有

-w
。如果没有出现错误,则使用
-w
再次构建 exe。

如果您在解决错误时遇到问题,请发表评论或将错误放入您的问题中。我也会更新我的答案。

© www.soinside.com 2019 - 2024. All rights reserved.