精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

物聯網設備Telnet口令快速掃描工具

責任編輯:editor006

作者:scu-igroup

2017-03-12 21:21:32

摘自:黑客與極客

過程中使用的是xrange生成器,主要是怕生成的ip地址過大,占用過多內存。由于sniffer線程是阻塞監聽不會退出的所以在一開始將這個線程設置為daemon線程,當沒有其他線程時,程序退出,而不會阻塞在sniffer。

隨著物聯網設備越來越普及,大部分物聯網設備接入公網但卻缺乏有效管理,因此希望能夠快速獲取物公網上聯網設備的相關信息,但是在實驗環境下,幾臺計算機使用傳統的鏈接方式去掃描設備效率太低,為了能夠達到這個目的,本文介紹了一個多線程telnet快速掃描器,可以快速地實現telnet物聯網設備的密碼掃描,并將掃描結果存入庫中。

總體架構

1.數據輸出/syn泛洪發包,可配置掃描信息

2.信息收集及處理/數據嗅探及過濾

3.多線程scanner/多線程通信

4.命令交互狀態機/狀態機實現,交互過程

5.數據輸出/數據入庫

數據探測

Xml文件配置

程序使用xml格式配置讀取待掃描的ip地址段信息

寫成xml的主要一開始是因為要掃描一個固定地域的ip地址段,正好使用python可以很方便的解析網頁上的內容,所以就將網絡上的ip段信息處理成xml格式,方便以后讀取。

過程中使用的是xrange生成器,主要是怕生成的ip地址過大,占用過多內存。

syn泛洪

為了加快掃描速度,避免等待無用鏈接,使用scapy從第三層開始構造syn端口探測包并從特定的端口(例如:2222)大量發送出去,采用先回應先處理的原則,極大的縮短了掃描時間。

使用scapy可以很方便的構造數據包,如上圖,大量的構造syn數據包。使用scapy的時候注意需要root權限,同時需要注意當前工作目錄下的文件名,有可能因為文件名的原因導致scapy無法正常工作。

信息收集

Sniffer

調用scapy中的sniff函數監聽數據包,使用bpf過濾規則,過濾特定端口(port:2222),ack響應的數據包,并將數據包的來源ip存入一個FIFO隊列(隊列默認大小為:100),這是為了避免當收到服務器端的重傳ack包,導致處理該ip多次造成效率上的浪費

Queue才是真正的產出隊列,而ip_prompt_queue只是為了避免重復探測同一個的一個先進先出隊列,如果ip在FIFO隊列當中,則代表該ip已經被探測過了直接略過。

由于sniffer線程是阻塞監聽不會退出的所以在一開始將這個線程設置為daemon線程,當沒有其他線程時,程序退出,而不會阻塞在sniffer。

  多線程

采用消費-生產的多線程工作模式,使用spewr線程向外泛洪syn數據包,使用sniffer線程監聽并分析數據包,使用多個scanner<線程來并行處理掃描到的ip地址。

使用一個線程標志位exitFlag來通知線程退出,spewer線程結束發包之后會將exitFlag置1,這時主線程將會循環檢測接收數據包的最后時間,如果在30秒內沒有監聽到數據包,則判斷探測過程已經完成沒有后續的產出了同時將exitFlag置2,scanner線程將會檢查queue當中是否有數據,如果沒有數據且exitFlag等于2或3,則表示沒有破解目標線程開始退出,同時將exitFlag置3,通知主線程開始退出。

命令交互狀態機

為了避免邏輯的單一造成的漏掃之類的實例發生,放棄了使用單一的if-else 或者while-which的邏輯結構,進而采用有限狀態機的編程方法,實現對telnet協議更好的交互,交互過程中scanner將會從一個優先級隊列當中取出硬編碼的用戶名-密碼對,來對設備進行暴力破解

  持有狀態機的父類

  使用pexpect開始數據交互

數據輸出

使用MySQL數據庫,將成功探測得到的結果存入數據庫,存入數據庫之前還將添加ip歸屬地等信息

使用mysql.sql腳本,創建數據庫及數據表,注意由于使用了歸屬地等中文信息,因此建庫和建表的時候要設置好響應的字符集才不會導致亂碼。設置ip的UNIQUE鍵,避免重復表項。

使用方法

1.操作環境linux

2.使用apt-get或者yum安裝mysql數據庫

3.下載pip安裝程序(https://pypi.python.org/pypi/pip),按照說明安裝

4.使用pip命令安裝pexpect,MySQL-python,17monip,scapy等(如:pip install pexpect)

5.進入mysql數據庫,source */mysql.sql 執行腳本創建數據庫和數據表

6.使用 python scanner.py 10 運行程序

項目代碼:https://github.com/scu-igroup/telnet-scanner

下圖是掃描的結果圖:

* 原創作者:scu-igroup,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 凤庆县| 皮山县| 泽州县| 清新县| 互助| 高雄市| 厦门市| 新田县| 独山县| 桐柏县| 彭泽县| 河曲县| 沙洋县| 凉城县| 鄱阳县| 曲靖市| 二连浩特市| 云浮市| 额济纳旗| 绥芬河市| 陇川县| 高雄县| 合肥市| 汉寿县| 鹤峰县| 东台市| 合阳县| 谢通门县| 普洱| 浏阳市| 天津市| 乌恰县| 台山市| 丽水市| 郁南县| 兴义市| 阜新| 大同县| 新巴尔虎左旗| 灵武市| 芜湖县|