欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python端口掃描系統(tǒng)實現(xiàn)方法

系統(tǒng) 1712 0

本文實例講述了python端口掃描系統(tǒng)實現(xiàn)方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

該程序的主要功能如下:

1. 從自有API接口獲取所有的外網(wǎng)IP段;
2. 用Nmap 遍歷掃描所有的IP段,-oX 生成XML的掃描報告;
3. 用xml.etree.ElementTree模塊方法讀取XML文件,將ip,開放端口,對應服務等寫入Mysql數(shù)據(jù)庫。
功能很簡單,沒有滿足老大高大上的需求,所以這個小項目就這么英勇的掛掉了!~~~完全都還沒考慮程序異常終止,掃描服務器異常歇菜的情況。
貼上代碼:

復制代碼 代碼如下:
#coding:utf-8
import sys,os,time,subprocess
import MySQLdb
import re,urllib2
import ConfigParser
from IPy import IP
import xml.etree.ElementTree as ET
?
nowtime = time.strftime('%Y-%m-%d',time.localtime(time.time()))
configpath=r'c:portscanconfig.ini'
#傳入api接口主路徑,遍歷獲取所有的ip列表,用IPy模塊格式成127.0.0.1/24的格式
def getiplist(ipinf):
serverarea=['tj101','tj103','dh','dx']
iplist=[]
for area in serverarea:
ipapi=urllib2.urlopen(ipinf+area).read()
for ip in ipapi.split('n'):
#判斷如果ip列表不為空,轉(zhuǎn)換成ip/網(wǎng)關格式,再格式化成ip/24的格式
if ip:
ip=ip.replace('_','/')
ip=(IP(ip))
iplist.append(str(ip))
ipscan(iplist,nmapathx)
?
#傳遞ip地址文件和nmap路徑
def ipscan(iplist,nmapath):
#古老的去重,對ip文件中的ip地址進行去重
newiplist=[]
scaniplist=[]
for ip in iplist:
if ip not in newiplist:
newiplist.append(ip)
#遍歷所有ip段,批量掃描,生成xml格式報告
for ip in newiplist:
filename=nowtime+ip.split('/')[0]+'.xml'
filepath=r"c:portscanscanres\"
nmapcmd=nmapath+' -PT '+ip.strip('rn')+' -oX '+filepath+filename
os.system(nmapcmd)
scaniplist.append(ip)
writeinmysql(scaniplist)
?
#入庫模塊是某大嬸發(fā)寫好的給我 我只是簡單修改了哈,主要是xml.etree.ElementTree模塊。
def writeinmysql(scaniplist):
filepath=r"c:portscanscanres"
for ip in scaniplist:
xmlfile=filepath+'\'+ip+'.xml'
#縮進哈 發(fā)文章的時候臨時改的,懶得縮進了
root=ET.parse(xmlfile).getroot()
allhost=root.findall('host')
conn=MySQLdb.connect(host='10.5.10.57',user='nxadmin',passwd='nxadmin.com',port=3306,db='scandb',charset='utf8')
cur= conn.cursor()
for host in allhost:
address = host.find('address')
#首先判斷端口是不是open的,如果是再進行入庫
for port in host.find('ports').findall('port'):
if port.find('state').attrib['state']=="open":
ip=address.attrib['addr']
portval=port.attrib['portid']
state=port.find('state').attrib['state']
sql = "INSERT INTO portscan (ip,port,state) VALUES(%s,%s,%s)"
params=[ip,portval,state]
cur.execute(sql,params)
conn.commit()
cur.close()
conn.close()
if __name__=="__main__":
#讀取配置文件中要掃描的IP apiurl和nmap安裝文件路徑
config=ConfigParser.ConfigParser()
config.readfp(open(configpath,'rb'))
nmapathx=config.get('nmap','nmapath')
ipinf=config.get('ip','ipinf')
getiplist(ipinf)

配置文件c:portscanconfig.ini中主要是api接口主url,nmap安裝路徑。

感興趣的朋友可以進一步完善該實例的功能。希望本文所述對大家的Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 午夜电影剧场 | 欧美视频国产 | 日本久久影视 | 精品一区二区三区四区 | 中文天堂av | 久草最新视频 | 欧美精品在线一区二区三区 | 精品国产一区二区在线 | 久久99国产精一区二区三区 | 亚洲精品婷婷无码成人A片在线 | 日韩精品欧美高清区 | 国产一级毛片在线看 | 香蕉久久久 | 中文字幕 在线观看 | 亚洲欧美日韩中文不卡 | 亚洲123 | 青草草在线视频 | 亚洲美女毛片 | 欧美成人一级 | 热久久这里只有精品 | 波多野结衣mxgs1124在线 | 午夜精品久久久久久久99热浪潮 | 免费a级毛片 | 麻豆av在线播放 | 天天摸天天揉天天碰天天弄 | 久久99国产伦子精品免费 | 无码乱人伦一区二区亚洲 | 国产成人精品日本亚洲麻豆 | www.99色| 久久受www免费人成看片 | 欧美二区在线 | 天堂在线视频 | 成人激情综合网 | 国产日韩欧美在线观看 | 欧美专区在线 | 日韩av不卡在线 | 欧美日韩亚洲一区二区三区在线观看 | 日日碰狠狠添天天爽五月婷 | 欧美久久亚洲精品 | 日韩国产在线 | 久草视频大全 |