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

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

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

瀏覽:29日期: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久久,三上悠亚国产精品一区二区三区
国产激情综合| 日韩欧美一区二区三区免费观看| 青青久久av| 亚洲国产不卡| 国产精品美女久久久浪潮软件| 亚洲伊人精品酒店| 日韩美女精品| 日韩精品亚洲专区在线观看| 国产精品红桃| 欧美国产一级| 在线日韩av| 亚洲综合色婷婷在线观看| 亚洲婷婷丁香| 国产精品普通话对白| 久久wwww| 国产伦理一区| 精品三级av| 伊人久久在线| 日本中文字幕不卡| 亚洲免费一区三区| 91精品婷婷色在线观看| 国产精品xxx| 久久激情五月婷婷| 久久国产日韩| 欧美中文一区二区| 精品久久一区| 日韩国产欧美三级| 亚洲综合丁香| 日本成人手机在线| 精品在线网站观看| 日韩一区亚洲二区| 成人小电影网站| 婷婷中文字幕一区| 国产乱子精品一区二区在线观看| 狠狠久久伊人中文字幕| 久久久夜精品| 欧美三级网址| 国产精品99一区二区三区| 蜜桃久久av一区| 蜜桃视频免费观看一区| 日韩av黄色在线| 福利一区在线| 免费成人在线视频观看| 欧美日韩精品一区二区三区在线观看| 久久久9色精品国产一区二区三区| 亚洲我射av| 欧洲亚洲一区二区三区| 欧美日韩视频免费观看| 尤物在线精品| 日本电影久久久| 精品三级在线观看视频| 卡一精品卡二卡三网站乱码| 国产99精品一区| 免费看日韩精品| 国产拍在线视频| 国产欧美日韩精品一区二区免费| 欧美aa在线视频| www成人在线视频| 亚洲精选久久| 五月天久久网站| 在线午夜精品| 丝袜美腿成人在线| 久久国产免费看| 九色精品91| 国产一区二区三区免费在线| 国产精品白丝一区二区三区| 水蜜桃久久夜色精品一区的特点| 成人av二区| 99精品99| 首页国产欧美久久| 91九色精品| 免费av一区二区三区四区| 视频精品一区二区| 日韩影院免费视频| 中文在线一区| 欧美专区一区二区三区| 日本亚洲不卡| 日本一区福利在线| 亚洲资源网站| 国产精品传媒麻豆hd| 色在线中文字幕| 久久国产欧美| 亚洲综合图色| 国产一区一一区高清不卡| 久久精品国内一区二区三区| 久久久人人人| 麻豆久久久久久| 久久成人精品| xxxxx性欧美特大| 久久婷婷激情| 日韩影院精彩在线| 日韩精品免费一区二区三区| 亚洲欧美日韩国产综合精品二区| 日韩av中文字幕一区二区| 国产日本精品| 国产精品成人3p一区二区三区| 日韩在线一二三区| 欧美1区免费| 亚洲人成精品久久久| 亚洲风情在线资源| 色婷婷精品视频| 亚洲精品一区二区妖精| 欧美中文字幕| 久久国内精品视频| 在线亚洲自拍| 极品日韩av| 日韩欧美中文| 欧美日韩一区二区国产| 精品欧美日韩精品| 首页国产欧美久久| 日本91福利区| 久久精品国产www456c0m| 国产精品mm| 91精品二区| 国产精品99一区二区三| 中文在线日韩| 日韩中文字幕无砖| 神马午夜久久| 蜜桃av.网站在线观看| 免费黄网站欧美| 99精品在线观看| 亚洲一区免费| 另类小说一区二区三区| 国产精品nxnn| 国产乱码午夜在线视频| 国产精品探花在线观看| 国产专区精品| 亚洲涩涩av| 欧美激情日韩| 蜜桃久久久久久| 久久精品免费一区二区三区| 国产精选一区| 日韩精品电影| 亚洲欧美视频| 精品视频一区二区三区在线观看 | 美女久久网站| 99精品网站| 久久久久久久久丰满| 久久久久久久欧美精品| 亚洲激情二区| 欧美黄色精品| 久久精品福利| 欧美亚洲精品在线| 一区二区三区四区日本视频| 中文字幕日韩亚洲| 99久久久久国产精品| 中文字幕成人| 亚洲午夜一级| 亚洲精品中文字幕乱码| 国产专区一区| 亚洲最新无码中文字幕久久 | 日av在线不卡| 欧美影院视频| 久久国产电影| 国产精品久久国产愉拍| 午夜精品婷婷| 美女在线视频一区| 在线视频亚洲| 国产精品白丝av嫩草影院| 免费观看亚洲| 美女日韩在线中文字幕| 亚洲色图国产| 只有精品亚洲| 国产精品麻豆成人av电影艾秋| 91欧美日韩| 久久精品av| 久久精品二区三区| 99国产精品视频免费观看一公开| 国产精品igao视频网网址不卡日韩 | 欧美亚洲三区| 国产精品99一区二区| 国产精品高潮呻吟久久久久| 国产精品普通话对白| 在线手机中文字幕| 国产调教精品| 久久国产高清| 国产99久久| 久草免费在线视频| 美女高潮久久久| 日本综合精品一区| 天使萌一区二区三区免费观看| 日韩电影免费在线观看| 日韩动漫一区| 奶水喷射视频一区| 欧美日韩一二三四| 久久电影tv| 精品国产aⅴ| 欧美有码在线| 亚洲3区在线| 欧美在线综合| 一区在线视频观看| 亚洲性色视频| 日韩久久电影| 国产福利一区二区精品秒拍| 三级久久三级久久久| 国产精品美女久久久浪潮软件| 99精品综合| 欧美色图国产精品| 亚洲人成在线网站| 亚洲风情在线资源|