Python nmap模块错误(降低到2.0 \ nRTTVAR已增长到超过2.3秒)

时间:2014-07-17 14:49:06

标签: python nmap

嗯,这对我来说只是各种奇怪。我一直在研究这个脚本来自动执行一些nmap扫描,并将它们转储到数据库中,希望能够进行比较并找出哪些端口在上次扫描期间可能没有打开。该脚本如下所示,它在第一次测试运行时效果很好,但是当我更改hostlist变量以扫描不同的子网时,它就退出了工作状态。扫描花了比正常情况更长的WAAAY,当它最终出错时,它只打印了两到三个屏幕

"(decreasing to 2.0\nRTTVAR has grown to over 2.3 seconds)"

它将在2.0到2.3秒之间交替,但这几乎是我被转储到stdout的垃圾邮件。我第一次运行脚本并且它工作了我没有那里的日检查器,但当我评论那些并尝试再次运行它的方式它是第一次工作,新的子网作为唯一差异,它仍然是borked。对于发生了什么的任何想法?脚本如下。不介意我实际上没有使用结果变量,它是一个年轻的脚本,我还在学习nmap模块;)

#!/usr/bin/python

# automated nmap scanning script

import nmap
import MySQLdb
#import datetime

# initialize port scanner and hosts to be scanned

nm = nmap.PortScanner()

#if datetime.datetime.today().weekday() == 2:
hostlist = 'XXX.XXX.XXX.0/24'

# open database connection and prepare a cursor

db = MySQLdb.connect("XXXX","XXXX","XXXX","XXXX")

cursor = db.cursor()

# scan

results = nm.scan(hosts=hostlist, arguments='-PN')

for item in nm.all_hosts():
#       print('Host: %s (%s)') % (item, nm[item]['hostname'])
        if 'tcp' in nm[item]:
                for port in nm[item]['tcp'].keys():
#                       print("\t %s") % (port)
                        sql = "INSERT INTO scanresults (ipaddress, port) VALUES ('%s', '%s')" % (item, port)
                        try:
                                cursor.execute(sql)
                                db.commit()
                        except:
                                print "There was an error!"
                                db.rollback()

db.close()

0 个答案:

没有答案