日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

利于python腳本編寫可視化nmap和masscan的方法

瀏覽:26日期:2022-07-01 08:23:05
介紹

我編寫了一個快速且帶有斑點的python腳本,以可視化nmap和masscan的結果。它通過解析來自掃描的XML日志并生成所掃描IP范圍的直觀表示來工作。以下屏幕截圖是輸出示例:

利于python腳本編寫可視化nmap和masscan的方法

由于缺少更好的詞,我將從現在開始將輸出稱為地圖。每個主機由一個彩色正方形表示。覆蓋地圖大部分內容的淺藍色方塊表示主機處于脫機狀態(或僅未響應masscan的SYN。)其他彩色方塊表示處于聯機狀態且具有開放端口的主機。正方形的顏色從藍色到紅色。正方形越紅,表示主機上打開的端口越多。將鼠標懸停在每個方塊上,將在工具提示中顯示IP地址和打開的端口。

該工具非常有用,因為它使您可以大致了解IP范圍,而不必在日志文件中拖網。它使您可以輕松查看掃描中的主機塊。該工具可以從github下載,但是我將在下面描述代碼的工作方式。

如何使用

首先,我要說這段代碼沒有經過優化。我已經針對/ 21的日志運行了代碼,并花費了大約40秒鐘來生成輸出映射。

第一步是查找運行掃描的IP地址范圍。由于掃描命令未保存在日志文件中,因此這真是一個痛苦。因此,我們必須根據最低和最高IP結果來計算范圍。我們從掃描中解析XML文件,并將掃描到的每個IP地址附加到名為ipList的列表中

ipList = []for event, element in etree.iterparse(’output.xml’, tag='host'): for child in element: if child.tag == ’address’: ipList.append(child.attrib[’addr’])

然后,我們遍歷ipList并將每個八位位組分成單獨的列表,分別稱為firstOctetRange,secondOctetRange,thirdOctetRang和forwardOctetRange。

firstOctetRange = []secondOctetRange = []thirdOctetRange = []forthOctetRange = []bitDelimeter = 0startingIP = 0endingIP = 0for ip in ipList: binaryOctet = ’’ octets = ip.split(’.’) firstOctetRange.append(int(octets[0])) secondOctetRange.append(int(octets[1])) thirdOctetRange.append(int(octets[2])) forthOctetRange.append(int(octets[3]))

然后,我們將每個結果的每個八位位組與另一個結果的相同八位位組進行比較,以確定值發生變化的八位位組。例如。如果前兩個八位位組始終相同。我們知道掃描的CIDR表示法將大于/ 16。我使用了變量bitDelimeter來存儲CIDR表示法截取的八位字節的值。

if min(firstOctetRange) != max(firstOctetRange): bitDelimeter = 0elif min(secondOctetRange) != max(secondOctetRange): bitDelimeter = 1elif min(thirdOctetRange) != max(thirdOctetRange): bitDelimeter = 2elif min(forthOctetRange) != max(forthOctetRange): bitDelimeter = 3

掃描的IP地址范圍被添加到稱為parsedServers的有序字典中。ip地址是使用一系列4個嵌套的FOR循環生成的,每個循環在0 ? 256范圍內循環。此范圍開始的八位位組取決于bitDelimeter。例如。如果掃描了IP地址范圍192.168.10.0/24。位定界符將為3,指示最后一個八位位組是更改其值的八位位組。因此,用于生成要放入parsedServers的IP地址的循環將固定前三個八位字節,并僅對最后一個八位字節循環范圍為0 ? 256。如果我們掃描/ 21,則位定界符將為2,因此生成IP地址的循環將固定前兩個八位位組。將根據掃描的最小第三八位字節值和掃描的最大第三八位字節值的范圍生成第三八位字節。第四個八位位組的范圍是0 ? 256。

if bitDelimeter == 0: for one in range(min(firstOctetRange), max(firstOctetRange) + 1): for two in range(0, 256): for three in range(0, 256): for four in range(0, 256): ip = '%d.%d.%d.%d' % (one, two, three, four) parsedServers[ip] = []if bitDelimeter == 1: one = min(firstOctetRange) for two in range(min(secondOctetRange), max(secondOctetRange) + 1): for three in range(0, 256): for four in range(0, 256): ip = '%d.%d.%d.%d' % (one, two, three, four) parsedServers[ip] = []if bitDelimeter == 2: one = min(firstOctetRange) two = min(secondOctetRange) for three in range(min(thirdOctetRange), max(thirdOctetRange) + 1): for four in range(0, 256): ip = '%d.%d.%d.%d' % (one, two, three, four) parsedServers[ip] = []if bitDelimeter == 3: one = min(firstOctetRange) two = min(secondOctetRange) three = min(thirdOctetRange) for four in range(min(forthOctetRange), max(forthOctetRange) + 1): ip = '%d.%d.%d.%d' % (one, two, three, four) parsedServers[ip] = []

現在,我們有一個parsedServer排序的dict,其中包含我們掃描范圍內的所有IP地址。下一步是將掃描中找到的打開端口添加到parsedServer字典中。

for event, element in etree.iterparse(’output.xml’, tag='host'): for child in element: if child.tag == ’address’: ipAddress = child.attrib[’addr’] if child.tag == ’ports’: for subChild in child: port = [subChild.attrib[’portid’]] parsedServers[ipAddress].append(port)

現在,我們需要生成一個HTML頁面,可用于可視化結果。這是使用Flask完成的。我們遍歷包含所有數據的pasedServers字典。創建一個infoString,其中包含當前迭代的IP地址和端口。當光標懸停在地圖上的正方形上時,將在工具提示中使用此功能。創建htmlBuffer并將其附加到parsedServers字典的每次迭代中。每次迭代都會添加HTML代碼,以使用從colourRange列表中提取的顏色添加新的表格數據單元。范圍中總地址的平方根表示何時需要在表中添加新行。這樣可以使結果在頁面上顯示為正方形。

count = 0htmlBuffer = Markup(’’)for key, value in parsedServers.items(): infoString = str(key) + ’<br>’ if value: infoString += ’Ports:’ for portValue in value: infoString += str(portValue) + ’,’ colourRange = [’94A5FF’, ’0024E5’, ’2422C5’, ’4821A6’, ’6D1F87’, ’911E67’, ’B61C48’, ’DA1B29’, ’FF1A0A’] htmlBuffer += Markup(’<td class='tooltip', bgcolor='’ + colourRange[len(value)] + ’'><span class='tooltiptext'>’ + infoString + ’</span></td>’)<br> count += 1<br> if count > math.sqrt(len(parsedServers)):<br> htmlBuffer += Markup(’</tr><tr>’) count = 0

例如。我們正在parsedServers中進行迭代,地址為192.168.10.22,并且打開了3個端口。將使用工具提示中列出的IP地址和端口創建一個表格數據單元。單元格的背景顏色將從包含9個十六進制顏色代碼的colourRange列表中提取。列表上的索引越高,顏色越紅色。在此示例中,IP地址有3個開放的端口。因此,第三個索引中的顏色將設置為背景色,從而使數據單元格變為紫色。

最后,我們將模板傳遞給htmlBuffer。然后運行Web服務器。通過瀏覽至127.0.0.1:5000,可以找到輸出。

@app.route(’/’)def index(): return render_template(’index.html’, name=htmlBuffer)if __name__ == ’__main__’: app.run()

到此這篇關于利于python腳本編寫可視化nmap和masscan的文章就介紹到這了,更多相關python編寫可視化nmap和masscan內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美日韩视频二区| 91精品一区国产高清在线gif| 久久中文字幕导航| 国产欧美日韩视频在线| 国产欧美自拍| 麻豆视频在线观看免费网站黄| 黄毛片在线观看| 999精品色在线播放| 亚洲欧美日韩一区在线观看| 日韩精品一区二区三区中文| 开心激情综合| 久久一区欧美| 国产精品高潮呻吟久久久久| 亚洲a级精品| 亚洲欧美在线专区| 综合激情网站| 蜜臀av一区二区三区| 日韩欧美精品综合| 欧美激情麻豆| 国产精品男女| 美女视频网站久久| 国产精品三p一区二区| 亚洲在线国产日韩欧美| 国产综合视频| 99国产精品自拍| 亚洲激情不卡| 欧美在线观看视频一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 99国产精品视频免费观看一公开 | 免费在线日韩av| 久久精品99国产精品| 国产亚洲欧美日韩在线观看一区二区 | 欧美1级日本1级| 91精品国产成人观看| 亚洲91精品| 国产农村妇女精品一二区| 视频一区二区三区在线| 热久久久久久| 在线看片福利| 尹人成人综合网| 日韩在线网址| 精品久久网站| 先锋影音久久久| 国产精品一区亚洲| 日本精品不卡| 日韩精品福利一区二区三区| 精品一区免费| 国产女人18毛片水真多18精品| 中文在线а√在线8| 亚洲三级av| 精品一区在线| 国产精品白丝一区二区三区| 五月综合激情| 成人国产综合| 欧美视频一区| 日韩一区欧美二区| 日韩专区精品| 老色鬼精品视频在线观看播放| 欧美成人综合| 精品久久久网| 欧美性www| 久久久久伊人| 亚洲精品伦理| 亚洲激情二区| 国产不卡人人| 国产欧美亚洲精品a| 日韩在线卡一卡二| 激情欧美丁香| 性感美女一区二区在线观看| 国产精品免费99久久久| 亚洲精品护士| 免费欧美在线视频| 岛国av免费在线观看| 亚洲伊人影院| 亚洲午夜黄色| 日韩1区在线| 国产婷婷精品| 亚洲午夜在线| 国精品一区二区| 成人自拍av| 亚洲成a人片| zzzwww在线看片免费| 九九99久久精品在免费线bt| 日韩综合一区二区| 亚洲激情另类| 日韩精品久久久久久久电影99爱| 国产综合婷婷| 日本欧美不卡| 秋霞影院一区二区三区| 欧美日韩国产v| 亚洲毛片网站| 国产高清亚洲| 欧美日韩在线观看首页| 999精品在线| 丝袜a∨在线一区二区三区不卡| 狠狠爱www人成狠狠爱综合网| 午夜久久一区| 男人天堂欧美日韩| 青青青国产精品| 欧美国产先锋| 日韩中文在线电影| 欧美福利在线| 亚洲欧美不卡| 国产伦精品一区二区三区在线播放 | 激情欧美一区| 午夜国产一区二区| 玖玖玖国产精品| 日本精品一区二区三区在线观看视频| 日韩综合小视频| 国产精品资源| av免费不卡国产观看| 欧美91视频| 亚洲精品日韩久久| 欧美aaaaaa午夜精品| 蜜臀av免费一区二区三区| 99pao成人国产永久免费视频| 中文字幕日韩亚洲| 日韩成人高清| 伊人国产精品| 午夜天堂精品久久久久| 欧美日韩一区二区三区四区在线观看 | 欧美日韩91| 国精品一区二区| 7777精品| 狠狠爱成人网| 婷婷色综合网| 丝袜av一区| 日韩网站在线| 亚洲精品大片| 精品国产亚洲一区二区三区在线| 黄毛片在线观看| 99国产精品私拍| 国产精品美女午夜爽爽| 亚洲精品1区2区| 黄色网一区二区| 欧美啪啪一区| 亚洲精品麻豆| 综合欧美精品| 欧美专区一区二区三区| 久久精品免费一区二区三区 | 久草免费在线视频| 国产日韩1区| 亚洲综合专区| 国产精品毛片| 蜜桃伊人久久| 91视频精品| 亚洲精品一区二区在线播放∴| 91视频一区| 欧美一级全黄| 亚洲欧美久久久| 羞羞答答国产精品www一本| 手机在线电影一区| 精品入口麻豆88视频| 国产经典一区| 久久99精品久久久久久园产越南 | 久久97视频| 大香伊人久久精品一区二区| 日韩不卡在线观看日韩不卡视频| 九色精品91| 免费观看在线色综合| 中文一区一区三区免费在线观| 国产视频久久| 石原莉奈一区二区三区在线观看 | 国产精品一区2区3区| 国产精品xxx在线观看| 在线看片不卡| 免费在线观看日韩欧美| 日本一区免费网站| 欧美国产三级| 久久婷婷国产| 欧美国产另类| 久久精选视频| 视频一区免费在线观看| 日韩av网站在线观看| 免费日韩成人| 欧美精品高清| 亚洲区第一页| 成人精品国产亚洲| 欧美精品一卡| 国产精品免费不| 国产伦久视频在线观看| 欧美偷窥清纯综合图区| 蜜臀91精品一区二区三区| 不卡av一区二区| 成人看片网站| 精品久久视频| 国产精品2区| 91福利精品在线观看| 亚洲精品国产精品粉嫩| 只有精品亚洲| 蜜桃av一区二区在线观看| 欧美国产91| 久久在线电影| 亚洲高清成人| 欧美精品一区二区久久| 欧美私人啪啪vps| 日韩一级精品| 国产v综合v| 欧美精品1区| 日韩欧美中文字幕一区二区三区|