007-原始套接字-基本網(wǎng)絡(luò)檢測(cè)技術(shù)_第1頁(yè)
007-原始套接字-基本網(wǎng)絡(luò)檢測(cè)技術(shù)_第2頁(yè)
007-原始套接字-基本網(wǎng)絡(luò)檢測(cè)技術(shù)_第3頁(yè)
007-原始套接字-基本網(wǎng)絡(luò)檢測(cè)技術(shù)_第4頁(yè)
007-原始套接字-基本網(wǎng)絡(luò)檢測(cè)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、原始套接字與網(wǎng)絡(luò)檢測(cè)技術(shù)1原始套接字原始套接字是允許訪問(wèn)底層傳輸協(xié)議的一種套接字原始套接字有兩種類(lèi)型:在IP頭中使用預(yù)定義的協(xié)議,如ICMP在IP頭中使用自定義的協(xié)議2創(chuàng)建原始套接字使用函數(shù)socket()或WSASocket()例:SOCKET sRaw=socket(AF_INET,SOCK_RAW,IPPRPTP_ICMP);原始套接字提供管理下層傳輸?shù)哪芰?,它們可能?huì)被惡意利用。因此,僅administrator組的成員能夠創(chuàng)建SOCK_RAW類(lèi)型的套接字。任何人在NT下都可以創(chuàng)建原始套接字,但是沒(méi)有administrator權(quán)限的用戶(hù)不能用它做任何事情,因?yàn)閎ind函數(shù)將會(huì)失敗。3I

2、CMP協(xié)議ICMP(Internet Control Message Protocol),網(wǎng)間控制報(bào)文協(xié)議互聯(lián)網(wǎng)的操作由路由器監(jiān)控著,遇有異常發(fā)生,具體事件通過(guò)該協(xié)議報(bào)告。4ICMP報(bào)文ICMP報(bào)文可分為兩大類(lèi):差錯(cuò)報(bào)告報(bào)文和查詢(xún)報(bào)文報(bào)文結(jié)構(gòu):類(lèi)型(8b)代碼(8b)校驗(yàn)和(16b)內(nèi)容(取決于類(lèi)型和代碼)5ICMP報(bào)文與IP報(bào)文的關(guān)系ICMP報(bào)文ICMP報(bào)文IP首部6ICMP報(bào)文的類(lèi)型種類(lèi)類(lèi)型代碼報(bào)文差錯(cuò)控制報(bào)文30-15目的站不可達(dá)40-1源站抑制110-1時(shí)間超時(shí)120-1參數(shù)問(wèn)題50改變路由查詢(xún)報(bào)文8或00回送請(qǐng)求或回答13或140時(shí)間戳請(qǐng)求或回答17或180地址掩碼請(qǐng)求或回答10或9

3、0路由器詢(xún)問(wèn)或通告7表示ICMP頭部的數(shù)據(jù)結(jié)構(gòu)typedef struct icmp_hdr unsigned char icmp_type; /消息類(lèi)型 unsigned char icmp_code; /代碼 unsigned short icmp_checksum; /校驗(yàn)和 unsigned short icmp_id; /ID號(hào) unsigned short icmp_sequence; /序列號(hào) unsigned long icmp_timestamp; /時(shí)間戳 ICMP_HDR,*PICMP_HDR;8校驗(yàn)和校驗(yàn)和是網(wǎng)絡(luò)傳輸中常用的差錯(cuò)控制方法。計(jì)算收到的數(shù)據(jù)的校驗(yàn)和,與其所帶

4、校驗(yàn)和進(jìn)行比較,即可知數(shù)據(jù)在傳輸中是否受損校驗(yàn)和的計(jì)算方法:將數(shù)據(jù)以字為單位累加到一個(gè)雙字中,如果數(shù)據(jù)長(zhǎng)度為奇數(shù),最后一個(gè)字將被擴(kuò)展成雙字。最后將累加得到的雙字的高位和低位相加后取反,便得到校驗(yàn)和。9Ping程序:檢測(cè)網(wǎng)絡(luò)的可達(dá)性原理:產(chǎn)生一個(gè)ICMP回顯請(qǐng)求,并驅(qū)使它到感興趣的主機(jī)主要步驟:創(chuàng)建ICMP協(xié)議類(lèi)型的套接字創(chuàng)建并初始化ICMP封包調(diào)用sendto()函數(shù)向遠(yuǎn)端主機(jī)發(fā)送ICMP請(qǐng)求調(diào)用recvfrom()函數(shù)接收ICMP響應(yīng)10SetTimeout()函數(shù)BOOL SetTimeout(SOCKET s, int nTime, BOOL bRecv)int ret = :setso

5、ckopt(s, SOL_SOCKET, bRecv ? SO_RCVTIMEO : SO_SNDTIMEO, (char*)&nTime, sizeof(nTime);return ret != SOCKET_ERROR;11routeTracer程序:路由追蹤原理:由本地發(fā)送UDP封包到目的地址,遞加TTL值。初始情況下,TTL值為,這個(gè)UDP封包到達(dá)第一個(gè)路由器后將中止。這個(gè)終止會(huì)促使路由器產(chǎn)生一個(gè)ICMP超時(shí)封包。然后TTL值加,再發(fā)送這個(gè)UDP封包。收集每個(gè)ICMP消息便可知道封包所經(jīng)過(guò)的路由器。如果最終到達(dá)目的地址,多半會(huì)返回ICMP端口不可達(dá)消息,因?yàn)闆](méi)有進(jìn)程在等待這個(gè)封包。12SetTTL()函數(shù)BOOL SetTTL(SOCKET s, int nValue)int ret = :setsockopt(s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論