问题出在哪里?
import nmap我安装了nmap和python,当我使用import nmap时没有任何问题。但在使用时:
nmap.PortScanner()抛出此错误:
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
nmap.PortScanner()
File "./nmap/nmap.py", line 153, in __init__
raise PortScannerError('nmap program was not found in path. PATH is:{0}'.format(os.getenv('PATH')))
nmap.nmap.PortScannerError: 'nmap program was not found in path. PATH is : /usr/lib /lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games'"发布于 2014-04-29 03:34:02
python-nmap似乎依赖于nmap,它是执行实际网络扫描和审计的二进制文件。
如果nmap在您的$PATH中,您可以使用以下命令检查终端:
which nmap类似于Debian
您可以使用以下命令在类似debian的发行版中安装nmap:
apt-get install nmapArch linux:
pacman -Sy nmap已安装的nmap
如果您确定nmap二进制文件已安装,但您认为它不在您的$PATH中,则可能需要将nmap的安装目录添加到您的$PATH中。
为此,请编辑用户目录中的.bashrc文件或/etc/bashrc (将为所有用户更改),并添加以下内容:
export PATH="$PATH:/usr/local/nmap/bin"而是更改安装nmap二进制文件的目录的/usr/local/nmap/bin。更改文件后,请确保打开一个新的shell会话,或者键入exec bash以刷新它。
您还必须确保它具有执行权限(chmod +x <file>)。
在执行以下命令时:
nmap --version您应该会看到类似下面这样的内容:
Nmap version 6.46 ( http://nmap.org )
Platform: i686-pc-linux-gnu
Compiled with: liblua-5.2.3 openssl-1.0.1g libpcre-8.34 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select如果您这样做了,nmap已安装在您的$PATH中。
发布于 2015-11-05 07:15:38
适用于Windows用户的:
我建议首先关闭所有终端和空闲,或者在尝试运行脚本时打开的任何其他窗口。
接下来,打开命令行并输入
pip uninstall python-nmap如果您不确定当前系统上是否安装了Nmap二进制文件,请执行简单的搜索
nmap从你的开始菜单。如果已安装,请继续执行下一步;如果未安装,请转至Nmap's official download page
下载windows self install并运行它。记录要将其安装到的目录。
转到该目录。对我来说,这是
C:\Program Files (x86)\Nmap
打开系统的环境变量编辑器,通常位于
My PC > System Information > Advance settings > Environment Variables或右键单击
My PC或My Computer或您的任何名称,然后依次选择属性、高级设置和高级选项卡底部的环境变量
为You和System选择Path
按Edit键并输入full path to your Nmap director
例如;C:\Program Files (x86)\Nmap\
按“确定”并退出编辑器。
现在返回到命令行并输入:pip install python-nmap,允许它安装,然后重新启动ide并再次测试您的代码。
发布于 2014-06-12 16:08:31
我也遇到过同样的问题。只需在终端中键入:
sudo apt-get install nmap问题就解决了。
https://stackoverflow.com/questions/15335753
复制相似问题