出于某种原因,我无法在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
。我该如何解决?
您需要在初始化nmap.exe
时为PortScanner
添加路径
import nmap
nmap_path = r"C:\Program Files (x86)\Nmap\nmap.exe"
nmap.PortScanner(nmap_search_path = nmap_path)