![](/img/trans.png)
[英]('Nmap not found', <class 'nmap.nmap.PortScannerError'>)
[英]nmap PortScannerError, can't find nmap
不知道我在想什么。 我正在嘗試導入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
您需要在“ /usr/local/lib/python2.7/dist-packages/nmap/nmap.py”中編輯第137行,然后包含nmap目錄:“ usr / bin / nmap”。
出現此錯誤是因為“ nmap.py”無法確定nmap二進制目錄。
祝好運
道歉回答古老的問題,但通過變更東西面臨同樣的問題,並解決它nmap_search_path
在nmap.py
文件。
在nmap.py,在__init__
函數初始化端口掃描工具模塊,它有一些默認的搜索路徑來檢測nmap
系統和nmap
版本。 如果在路徑中未找到nmap
則可能引發PortScannerError
異常。
對於我檢查的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')):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.