windows下python-nmap运行过程中出现的问题及解决办法

本来是在Linux下用python2.7写的一个ftp用户名和密码自动验证的脚本,后来想想准备移植到windows下,然后就有了这篇文章。

因为是临时准备移植到windows下,所有在官网下了Python的最新版本2.7.8。Namp也是下了最新版本6.47。至于Python在windows下环境的配置,可以百度找到文章,在此不再累赘。

python-nmap官网推荐python2.x下使用的版本是python-nmap-0.1.4,我开始使用的是这个,后来出现一堆错误也没找到原因就换成了python-nmap-0.2.4。这个版本官网我没看到。下载

说说我遇到的问题:

D:\python-nmap-0.2.4\nmap>python example.py
('Nmap not found', <class 'nmap.PortScannerError'>)
一时没看明白,把我写的那个ftp脚本跑了一下,问题如下:

D:\ftplogin_file>python ftplogin_file.py -F ftp2.txt
Traceback (most recent call last):
  File "ftplogin_file.py", line 111, in <module>
    main()
  File "ftplogin_file.py", line 109, in main
    ftpLogin(filepath)
  File "ftplogin_file.py", line 77, in ftpLogin
    if nmapScan(ip,"21") == True:
  File "ftplogin_file.py", line 8, in nmapScan
    nmScan = nmap.PortScanner()
  File "C:\Python27\lib\site-packages\nmap\nmap.py", line 144, in __init__
    raise PortScannerError('nmap program was not found in path. PATH is : {0}'.f
ormat(os.getenv('PATH')))
nmap.nmap.PortScannerError: 'nmap program was not found in path. PATH is : C:\\W
INDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Python27;D:\\WPS Of
fice\\9.1.0.4468\\office6;C:\\Program Files\\Microsoft Visual Studio\\Common\\To
ols\\WinNT;C:\\Program Files\\Microsoft Visual Studio\\Common\\MSDev98\\Bin;C:\\
Program Files\\Microsoft Visual Studio\\Common\\Tools;C:\\Program Files\\Microso
ft Visual Studio\\VC98\\bin'
查看nmap.py的源代码,发现是因为没有指定nmap的执行路径所致。在windows下,需要手动指定nmap的执行路径。在nmap.py初始化函数中加上自己机器上nmap可执行文件的路径即可。

    def __init__(self, nmap_search_path=('nmap','/usr/bin/nmap','/usr/local/bin/nmap','/sw/bin/nmap','/opt/local/bin/nmap',r"C:\Program Files\Nmap\nmap.exe") ):
再次运行,就可以成功了。



  


转载于:https://www.cnblogs.com/hiccup/p/5424008.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows系统下使用Python-nmap可以进行网络扫描和端口扫描。Python-nmap是一个Python库,它封装了Nmap安全扫描工具的功能,可以通过Python代码来调用Nmap进行扫描操作。 要在Windows系统使用Python-nmap,首先需要确保已经安装PythonNmap。以下是使用Python-nmap的基本步骤: 1. 安装Python:从Python官方网站下载并安装适合您系统的Python版本。 2. 安装Nmap:从Nmap官方网站下载并安装适合您系统的Nmap版本。 3. 安装Python-nmap库:打开命令提示符或者PowerShell,并执行以下命令来安装Python-nmap库: ``` pip install python-nmap ``` 4. 编写Python代码:创建一个Python脚本文件,例如`scan.py`,并在其编写扫描代码。以下是一个简单的示例: ```python import nmap nm = nmap.PortScanner() result = nm.scan('127.0.0.1', '22-443') for host in result['scan']: print('Host: %s' % host) for port in result['scan'][host]['tcp']: print('Port: %s\tState: %s' % (port, result['scan'][host]['tcp'][port]['state'])) ``` 上述代码使用了`nmap.PortScanner()`创建了一个扫描器对象,然后使用`scan()`方法对指定IP地址和端口范围进行扫描。扫描结果存储在`result`变量,可以根据需要进行处理和输出。 5. 运行Python脚本:在命令提示符或者PowerShell执行以下命令来运行Python脚本: ``` python scan.py ``` 执行后,您将看到扫描结果输出在命令行。 希望以上介绍对您有帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值