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") ):
再次運行,就可以成功了。



  



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM