欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 一级做a爰片久久毛片 | 国产日韩欧美视频在线观看 | 免费观看一级特黄欧美大片 | 91在线免费看 | 性做久久久久久免费观看欧美 | 日韩一区电影 | 欧美日韩在线视频播放 | 成人18免费网站在线观看 | 欧美视频在线一区 | 欧美在线国产 | 欧美经典一区 | 欧美高清观看免费全部完 | 亚洲一一在线 | 拍真实国产伦偷精品 | 精品免费国产一区二区三区 | 韩国精品在线 | 成人一级大片 | 精品一区二区三区免费视频 | 欧美a级成人淫片免费看 | 国产一区二区在线免费观看 | www.99xxxx.com | 国产小视频精品 | 亚洲一区在线播放 | 日本午夜免费无码片三汲大片 | 国产福利视屏 | 天天草天天干天天 | 在线视频中文字幕乱人伦 | 亚洲综合精品香蕉久久网97 | 亚洲第一视频区 | 99久久99久久精品免费看蜜桃 | 免费午夜影片在线观看影院 | 亚洲香蕉久久一区二区三区四区 | 伊人久久大杳蕉综合大象 | 日本高清色惰www在线视频 | 日日天天 | 国产精品久久久久久久7电影 | 国产成人午夜精品5599 | 久久伊人免费视频 | 欧美人人澡 | 欧美精品一区二区免费 | 耽美男男肉文 |