不知道我错过了什么。我正在尝试导入nmap模块并使用nmap.PortScanner()。我使用的是Linux。当我在终端中运行程序时,我得到:
File "/usr/local/lib/python2.7/dist-packages/nmap/nmap.py", line 137, in __init__
raise PortScannerError('nmap program was not found in path')
nmap.nmap.PortScannerError: 'nmap program was not found in path'当我运行时:
which nmap我得到了:
/usr/bin/nmap当我执行的时候
nmap --version我得到了:
Nmap version 7.60 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.0g nmap-libssh2-1.8.0 libz-1.2.8 libpcre-8.39 libpcap-1.8.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select发布于 2018-11-22 17:07:09
您需要在"/usr/local/lib/python2.7/dist-packages/nmap/nmap.py“中编辑137行,然后包括您的nmap目录:"usr/bin/nmap”。
此错误是因为"nmap.py“无法确定nmap二进制目录。
祝好运
发布于 2019-03-06 11:18:16
很抱歉回答了旧的问题,但遇到了同样的问题,并通过更改nmap.py文件中的nmap_search_path解决了它。
在nmap.py中,__init__函数初始化PortScanner模块,它有一些默认的搜索路径来检测系统和nmap版本上的nmap。
对于我检查过的python-nmap-0.6.1版本,在nmap.py文件中有下面一行代码。
def __init__(self, nmap_search_path=('nmap', '/usr/bin/nmap', '/usr/local/bin/nmap', '/sw/bin/nmap', '/opt/local/bin/nmap')):
https://stackoverflow.com/questions/52516757
复制相似问题