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

1)问题描述

  在windows下会抛出以下异常。

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‘  

抛出异常的地方

nmScan = nmap.PortScanner()

2)解决方案

  抛出异常的原因是因为没有指定nmap的执行路径所致,在windows下需要手动指定nmap的执行路径。

修改后

nmScan = nmap.PortScanner(nmap_search_path=(‘nmap‘,r"H:\Nmap\nmap.exe"))

3)修改后的完整代码

import nmap
import optparse

def nmapScan(tgtHost,tgtPort):
    nmScan = nmap.PortScanner(nmap_search_path=(‘nmap‘,r"H:\Nmap\nmap.exe"))
    nmScan.scan(tgtHost,tgtPort)
    state = nmScan[tgtHost][‘tcp‘][int(tgtPort)][‘state‘]
    print ‘[*]‘ + tgtHost + ‘ tcp/‘ + tgtPort + ‘ ‘ + state

def main():
    parser = optparse.OptionParser(‘usage%prog ‘ + ‘-H <target host> -p <target port>‘)
    parser.add_option(‘-H‘, dest=‘tgtHost‘, type=‘string‘,help=‘specify target host‘)
    parser.add_option(‘-p‘,dest=‘tgtPort‘,type=‘string‘,help=‘specify target port[s] separated by comma‘)
    (options,args) = parser.parse_args()
    tgtHost = options.tgtHost
    tgtPorts = str(options.tgtPort).split(‘,‘)
    if (tgtHost == None) | (tgtPorts[0] == None):
        print parser.usage
        exit(0)
    for tgtPort in tgtPorts:
        nmapScan(tgtHost,tgtPort)

if __name__ == ‘__main__‘:
    main()

4)再次运行,运行结果如下

D:\Python-Nmap>python2 test.py -H 192.168.1.44 -p 21,22,1720
[*]192.168.1.44 tcp/21 closed
[*]192.168.1.44 tcp/22 closed
[*]192.168.1.44 tcp/1720 closed
时间: 2024-11-05 06:28:01

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

MySQL集群架构以及本人配置过程中出现的问题及解决办法

首先说下MySQL的优缺点 优点 解决单点故障 自动实现数据冗余 缺点就是维护起来太麻烦. 集群的条件就是所有的机器上都要安装MySQL的集群软件,我安装的是MySQL-Cluster-gpl-7.3.5-1.el6.x86_64.rpm的rpm包,不是源码包安装.如果系统里面安装了mysql-server等数据库服务软件的要自行写在掉即可. MySQL集群中有三种角色,下面是三种角色以及其的作用 角色 数据节点:ndbd节点 存储在表里的数据(表中的记录) SQL节点:不存储数据,供用户访问和

Windows下Apache配置SSL以支持https及出错的解决办法

步骤一:安装apache,使其支持SSL,并安装php 1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g 2.配置apache以支持SSL: 1)打开apache的配置文件conf/httpd.conf LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf 去掉两行前面的# 2)注意修改httpd-ssl.conf 文件里的两个字段: S

cocopods安装使用和安装过程中遇到的问题及解决办法

在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,cocopods也避免不了安装很多次了. 对于新手来说,使用cocopods开发,还是节省了相当多的开发时间,以下便是cocopods安装和安装过程中遇到的问题及解决办法: 1.cocopods 安装:http://www.cnblogs.com/surge/p/4436360.html 2.出现以下

解锁Scott过程中出现的问题及解决办法

一.conn sys/sys as sysdba; //以DBA的身份登录 出现以下错误 经查 协议适配器错误的问题的原因有三个 监听服务没有起起来.windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务. .database instance没有起起来.windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database S

Cordova安装与配置过程中出现的问题及解决办法

最近在学习jQuery Mobile,在配置环境的过程中,遇到了一些问题,看百度这方面的资料挺少的,就自己总结一下了 1,在安装Cordova CLI过程中,提示出错,基本上是网速的问题,多安装几遍就好了,我安装了三次才安装好 Cordova CLI 安装命令:npm install -g cordova 2,android sdk ,官网一直进不去,在百度网盘找的一个,80个G,我的电脑盘,最大的一个78G,可想而知,悲剧了,安装的时候需要时间,然后配置环境的时候,需要添加一个环境变量, 变量

vs 2015 结合新配置的IIS 发布网站过程中遇到的问题及解决办法?

1.由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序 错误: HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. windows 8系统,运行aspx页面出现上述错误信息,解决办法如下: iis7  :控制面板->打开或关闭windows功能->Internet信息服务->万维网服务->应用程序开发功能,勾选上“.net扩展性”和“ASP.NE

oracle安装过程中先决条件检查失败的解决办法

1:公司数据库开始用的mysql,因为公司做的是保密性项目,所以就在项目日志过多的时候项目有爆炸的迹象啊(3000千万数据,貌似mysql有点撑不住).然后组长开始让我安装oracle,公司的内网也是醉了,打开oracle官网都打不开.最后还是组长下载好了传给我,让我安装,然而安装的过程中oracle又出现先决条件检查失败的问题,看着像是我的电脑硬件不支持,可是我的电脑是公司硬件最好的一个啊.然后百度啊,百度啊,解决的博客和方法不少,貌似并没有什么卵用,虽然我最后还是百度出来的解决办法吧,这里直

linux安装nginx过程中出现的问题及解决办法

安装nginx步骤以及遇到的问题: 1.yum install gcc gcc-c++   //执行命令后出现的问题,一直循环执行其中的三句,如下图所示: 解决办法就是先ctrl+z一下,接着输入rm –f /var/run/yum.pid 注意:一定要有网 2.安装 pcre-8.37和 zlib-1.2.8 其中需要使用rz命令时,如果rz使用不了,执行命令yum install lrzsz即可 3.unbuntu下安装安装pcre-8.37 configure: error: You ne

win10下安装Wampservice过程中遇到的问题及解决办法

今天在电脑上装Wampserver的时候遇到了几个问题,启动Wampserver无法成功,一直显示橙色.若启动成功Wampserver的图标会显示绿色. 下面的是解决方法 安装 在浏览器中搜索Wampserver,点击下载,下载之后安装直接点next,安装完成之后自动启动了Wampserver,启动之后一般都是显示橘黄色. 如图所示   修改默认端口 这是来修改Wampserver的默认端口,点击Wampserver小图标,找到Apache下的httpd.conf文件,用记事本(其他文本编辑器也