问题出在哪儿?
import nmap
Run Code Online (Sandbox Code Playgroud)
我安装了nmap和python,当我使用时import nmap没有任何问题.但使用时:
nmap.PortScanner()
Run Code Online (Sandbox Code Playgroud)
抛出此错误:
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'"
Run Code Online (Sandbox Code Playgroud)
对于Windows用户:
我建议首先关闭所有终端和IDLE或当前尝试运行脚本时打开的任何其他窗口.
接下来,打开命令行并键入
pip uninstall python-nmap
Run Code Online (Sandbox Code Playgroud)
如果您不确定当前系统上是否安装了Nmap二进制文件,请进行简单搜索
nmap
Run Code Online (Sandbox Code Playgroud)
从你的开始菜单.如果已安装,请继续执行下一步,如果没有,请转到Nmap的官方下载页面
下载windows自安装并运行它.记录要安装的目录.
转到该目录.对我来说是
C:\Program Files (x86)\Nmap
打开系统中常见的环境变量编辑器
My PC > System Information > Advance settings > Environment Variables
Run Code Online (Sandbox Code Playgroud)
或者右键单击
我的PC或我的电脑或任何你的电脑被调用并选择属性,然后在高级选项卡底部提前设置环境变量
选择Path两者You和System
按下Edit并进入full path to your Nmap director
例如 ;C:\Program Files (x86)\Nmap\
按确定并退出编辑器.
现在返回到命令行并输入:pip install python-nmap
允许它安装然后重新启动ide并再次测试代码.
python-nmap似乎依赖于nmap,这是进行实际网络扫描和审计的二进制文件.
您可以$PATH使用以下命令检查终端是否在您的nmap中:
which nmap
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令在类似debian的发行版中安装nmap:
apt-get install nmap
Run Code Online (Sandbox Code Playgroud)
pacman -Sy nmap
Run Code Online (Sandbox Code Playgroud)
nmap如果您确定nmap已安装二进制文件,但您认为它不在您的中$PATH,则可能必须将安装了nmap的目录添加到您的$PATH.
为此,请编辑.bashrc用户目录中的文件,或/etc/bashrc(将为所有用户更改)并添加以下内容:
export PATH="$PATH:/usr/local/nmap/bin"
Run Code Online (Sandbox Code Playgroud)
但要更改/usr/local/nmap/bin安装nmap二进制文件的目录.更改文件后,请务必打开新的shell会话,或键入exec bash以刷新它.
您还必须确保它具有执行权限(chmod +x <file>).
执行时:
nmap --version
Run Code Online (Sandbox Code Playgroud)
你应该看到这样的东西:
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
Run Code Online (Sandbox Code Playgroud)
如果你这样做,nmap安装在你的$PATH.