Socket linux網路掃瞄程式開發

2021-09-08 16:44:43 字數 1241 閱讀 9154

1.mystery引入

1)系統入侵步驟:系統發現->漏洞探測->漏洞利用->痕跡清除

2)掃瞄器分類:主機與網路掃瞄器;埠服務掃瞄器;服務漏洞掃瞄器

3)tcp埠掃瞄技術分為三種:全連線掃瞄;syn掃瞄以及fin掃瞄

4)udp埠掃瞄技術一般採用icmp報文埠不可達的資訊來識別udp埠是否開放

5)全連線掃瞄利用connect()函式的返回值來判斷埠是否開放

6)syn構造並傳送乙個syn資料報,就是tcp三次握手建立連線的第一步

若返回乙個syn|ack的資料報,則埠表示處於監聽狀態

若返回乙個rst資料報,則表示埠沒有處於偵聽狀態

7)fin掃瞄和syn掃瞄類似,構造相應的資料報

原理:關閉的埠會用rst資料報來回應fin資料報,而開放的埠則會忽略這種報文

2.程式構造

1)功能:實現乙個可用的埠掃瞄程式,在掃瞄方式上,實現全連線掃瞄、syn半連線掃瞄、多執行緒全連線掃瞄等方式

2)使用方式:採用互動式命令,在配置待掃瞄的目標主機ip位址、埠範圍等資訊後,啟動掃瞄

3)互動式模組是整個系統的除錯核心,也是控制系統運轉的一條主線

4)互動式模組通過命令驅動,要呼叫3個掃瞄模組。掃瞄模組要求的心要引數資訊為:ip位址、埠的下限及埠的上限;

針對多執行緒掃瞄全連線掃瞄,還要增加執行緒數這一引數資訊

5)半連線掃瞄的基本原理是採用原始套接字技術,構造相應格式的syn資料報,傳送目標主機

然後根據目標主機的響應資訊,判斷掃瞄埠的狀態

因為是採用原始套接字,所以需要root許可權

3.程式測試

1)程式功能清單

2)本機測試全連線掃瞄

3)遠端主機測試全連線掃瞄

4)其它兩種掃瞄方式類似,這裡就不截圖了,另外syn掃瞄需要root許可權

4.源**

見原部落格附件

Socket linux網路多路復用IO技術

1.mystery引入 select是一種多路復用io輸入輸出模式,在linux的輸入輸出程式設計中通過select的輪詢機制,發現可用 可讀或可寫的介面。低階socket程式中有乙個共同點 都是基於阻塞式的程式設計方式 非阻塞式是函式呼叫時不阻塞,不管函式執行成功與否,都會立即返回。優點 程式效率...

Socket linux網路多路復用IO技術

1.mystery引入 select是一種多路復用io輸入輸出模式,在linux的輸入輸出程式設計中通過select的輪詢機制,發現可用 可讀或可寫的介面。低階socket程式中有乙個共同點 都是基於阻塞式的程式設計方式 非阻塞式是函式呼叫時不阻塞,不管函式執行成功與否,都會立即返回。優點 程式效率...

Socket linux高效能網路服務程式

1.mystery引入 1 高效能的網路服務程式分為單執行緒重覆式網路服務 多程序網路服務 多執行緒網路服務 執行緒池網路服務和io多路復用網路服務等 2 單執行緒重覆式是最基本的一種tcp服務模式,其實現簡單,但是使用者體驗差,由於我前面日誌中已經作過介紹,這裡就不再贅述了 3 多程序網路服務是利...