python detectIPConflict.py
但是,当PyInstaller打包的脚本时:
pyinstaller --onefile detectIPConflict.py
./dist/detectIPConflict
出现错误:
WARNING: No route found for IPv6 destination :: (no default route?)
Traceback (most recent call last):
File "
我也在第19行寻求scapy / crypto / cert.py:
from Crypto.PublicKey import *
我找不到为什么会发生这个错误.
我很困惑.
有人可以帮忙吗?
版本信息:
> Python:2.7.6
> pyinstaller:3.1.1
> scapy:2.3.2(由pip命令安装)
> pycrypto:2.6.1
这是detectIPConflict.py:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from scapy.all import *
def ip_conflict():
ipscan='10.2.86.190/23'
ip_dict = dict()
ip_me = get_if_addr('eth0')
mac_me = get_if_hwaddr('eth0')
print "--------IP ME---------"
print ip_me,"--",mac_me
print "----------------------"
ip_dict[ip_me] = mac_me
try:
ans,unans=srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=ipscan),iface="br0",timeout=2,verbose=False)
except Exception,e:
print str(e)
else:
print (" MAC -- IP ")
for snd,rcv in ans:
list_mac=rcv.sprintf("%Ether.src% -- %ARP.psrc%")
mac = rcv.sprintf("%Ether.src%")
ip = rcv.sprintf("%ARP.psrc%")
# print mac,'-->',ip
if ip not in ip_dict:
ip_dict[ip] = mac
for has_ip in ip_dict.keys():
print has_ip,"------ " + ip_dict[has_ip]
if __name__ == "__main__":
ip_conflict()
最佳答案
我通过修改python2.7 / dist-packages / scapy / crypto / cert.py代码修复了这个错误:
修改第19,20,21行:
@H_502_70@修改第19,20,21行:
from Crypto.PublicKey import RSA
from Crypto.Cipher import ARC2
from Crypto.Hash import MD2
这适合我.
但是,我不知道为什么pyinstaller无法识别’import *’.
感谢任何解释.