出于某种原因,我无法在 python 上使用 nmap。我已将 python-nmap 作为库安装。每当我尝试使用 PortScanner()
时,都会收到路径错误,但我的计算机上安装了 nmap,而且它甚至在路径中。
import nmap
nm = nmap.PortScanner()
print(nm)
错误是
raise PortScannerError(
nmap.nmap.PortScannerError: 'nmap program was not found in path. PATH is : C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\nodejs\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files (x86)\\dotnet\\;C:\\Users\\Anti\\AppData\\Local\\Programs\\Python\\Python38\\Scripts\\;C:\\Users\\Anti\\AppData\\Local\\Programs\\Python\\Python38\\;C:\\Program Files\\Java\\jdk-13.0.2\\bin;C:\\Users\\Anti\\Desktop\\Selenium;C:\\Users\\Anti\\Desktop\\C++;C:\\ffmpeg\\bin;;C:\\Users\\Anti\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\MinGW\\bin;C:\\Users\\Anti\\AppData\\Roaming\\npm;C:\\Users\\Anti\\.dotnet\\tools;C:\\Program Files (x86)\\Nmap'
我的 nmap 文件位于您可以看到的路径中。
C:\\Program Files (x86)\\Nmap
我尝试重新安装 nmap 并再次添加路径,但没有任何变化。
我可以直接在cmd上使用nmap命令,没有任何问题。顺便说一句,我不使用virtualenv
。我该如何解决这个问题?
最佳答案
我知道这是旧线程。但如果有人正在寻找类似的答案。
@sushanth 的回答是正确的。
它只需列出:
nmap_path = [r"C:\Program Files (x86)\Nmap\nmap.exe",]
scanner = nmap.PortScanner(nmap_search_path=nmap_path)
关于即使安装了 nmap 并且 nmap.exe 在路径中,Python nmap 程序也未在路径中找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62232252/