freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡(luò)嗅探器的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計(jì)論文-文庫(kù)吧

2025-10-30 17:19 本頁(yè)面


【正文】 非自身地址之 后將不引起響應(yīng),也就是說(shuō)應(yīng)用程序無(wú)法收取到達(dá)的數(shù)據(jù)包。而網(wǎng)絡(luò)嗅探器的目的恰恰在于從網(wǎng)卡接收所有經(jīng)過(guò)它的數(shù)據(jù)包,這些數(shù)據(jù)包即可以是發(fā)給它的也可以是發(fā)往別處的。顯然,要達(dá)到此目的就不能再讓網(wǎng)卡按通常的正常模式工作,而必須將其設(shè)置為混雜模式。 本文通過(guò)對(duì) 網(wǎng)絡(luò)嗅探器對(duì)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的捕獲與分析 功能的進(jìn)一步了解,做到知己知彼。通過(guò) 網(wǎng)絡(luò)嗅探器對(duì)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包 進(jìn)行 捕獲 和 分析 ,獲取所需要的信息, 利用 對(duì)這些信息 進(jìn)行網(wǎng)絡(luò)安全分析。因此, 對(duì)網(wǎng)絡(luò)嗅探器的研究具有重要意義 。 本文的研究主要圍繞以下幾個(gè)方 面進(jìn)行。 。主要包括網(wǎng)絡(luò)嗅探器的概念、網(wǎng)絡(luò)嗅探器的工作原理及常見(jiàn)網(wǎng)絡(luò)嗅探器的實(shí)現(xiàn)原理等。 , 入侵檢測(cè)的實(shí)現(xiàn)由四部分組成:數(shù)據(jù)包嗅探解析部分、數(shù)據(jù)行為檢測(cè)部分、算法部分和掃描檢測(cè)部分。 數(shù)據(jù)包嗅探技術(shù)是實(shí)現(xiàn)入侵檢測(cè)的基礎(chǔ),將數(shù)據(jù)包從共享網(wǎng)絡(luò)線路中捕獲,并將其提取到應(yīng)用程序中 。 。主要工作包括:給出了一個(gè)網(wǎng)絡(luò)嗅探程序的系統(tǒng)框架、數(shù)據(jù)包捕獲程序的設(shè)計(jì)、數(shù)據(jù)包的解析、數(shù)據(jù)的顯示等。 ,得出結(jié)論。 2 網(wǎng) 絡(luò)嗅探器的基本原理 網(wǎng)絡(luò)嗅探器又稱(chēng) 為 網(wǎng)絡(luò)監(jiān)聽(tīng) 器 ,簡(jiǎn)稱(chēng)為 Sniffer 子系統(tǒng),放置于網(wǎng)絡(luò)節(jié)點(diǎn)處,對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)幀進(jìn)行捕獲的一種被動(dòng)監(jiān)聽(tīng)手段, 是一種常用的收集有用數(shù)據(jù) 的方法,這些數(shù)據(jù)可以是用戶(hù)的 賬號(hào) 和密碼,可以是一些商用機(jī)密數(shù)據(jù)等等。 Sniffer是利用計(jì)算機(jī)的網(wǎng)絡(luò)接口截獲目的地為其他計(jì)算機(jī)的數(shù)據(jù)報(bào)文的一種工具。 Sniffer 的正當(dāng)用處主要是分析網(wǎng)絡(luò)的流量 ,以便找出所關(guān)心的網(wǎng)絡(luò)中潛在的問(wèn)題。例如 ,假設(shè)網(wǎng)絡(luò)的某一段運(yùn)行得不是很好 ,報(bào)文的發(fā)送比較慢 ,而我們又不知道問(wèn)題出在什么地方 ,此時(shí)就可以 用嗅探器 截獲網(wǎng)絡(luò)中的數(shù)據(jù)包,分析問(wèn)題的所在。 而嗅探器也可作為攻擊工具被 黑客所利用為其發(fā)動(dòng)進(jìn)一步的攻擊提供有價(jià)值的信息。 嗅探器實(shí)現(xiàn)基礎(chǔ) 以太網(wǎng) 數(shù)據(jù) 幀是一組數(shù)字脈沖,它們?cè)趥鬏斀橘|(zhì)上進(jìn)行傳輸,從而實(shí)現(xiàn)信息 的傳遞。以太網(wǎng)幀格式符合 標(biāo)準(zhǔn),幀中包含目的地址和源地址,目的地址最高位為 0是普通地址,為 1時(shí)是組地址。當(dāng)一個(gè)幀送到組地址時(shí),組內(nèi)的所有站點(diǎn)都會(huì)收到該幀。如果將它送到一個(gè)普通地址,一般情況下,只有一個(gè)站點(diǎn)收到這個(gè)幀,但是,以太網(wǎng)是以廣播方式發(fā)送幀的,也即這個(gè)幀會(huì)傳播到其所在網(wǎng)段內(nèi)的所有 站點(diǎn),只不過(guò)該站點(diǎn)不會(huì)接收目的地址不為本機(jī)地址的幀。為了捕獲網(wǎng)段內(nèi)的所有幀 (以后稱(chēng)數(shù)據(jù)包 ),可以設(shè)置以太網(wǎng)卡的工作方式,以太網(wǎng)卡通常有正常模式 (normal mode)和混雜模式 (promiscuous mode)兩種工作模式。在正常模式下,網(wǎng)卡每接收到一個(gè)到達(dá)的數(shù)據(jù)包,就會(huì)檢查該數(shù)據(jù)包的目的地址,如果是本機(jī)地址和廣播地址 ,則將接收數(shù)據(jù)包放入緩沖區(qū),其他目的地址的數(shù)據(jù)包則直接丟掉。因此,正常模式下主機(jī)僅處理以本機(jī) 為目的的數(shù)據(jù)包,網(wǎng)卡如果工作在混雜模式,則可以接收本網(wǎng)段內(nèi)傳輸?shù)乃袛?shù)據(jù)包。如果要進(jìn)行數(shù)據(jù)包捕獲 ,必須利用網(wǎng)卡的混雜模式,獲得經(jīng)過(guò)本網(wǎng)段的所有數(shù)據(jù)信息。 常見(jiàn)的 sniffer sniff網(wǎng)絡(luò)分析儀有專(zhuān)用硬件和軟件的產(chǎn)品,尖端的網(wǎng)絡(luò)分析儀產(chǎn)品可以找出一般網(wǎng)絡(luò)接口檢測(cè)不到的錯(cuò)誤 :中等商業(yè)市場(chǎng)的網(wǎng)絡(luò)分析儀產(chǎn)品往往是帶有特定軟件的便攜計(jì)算機(jī) 。而基于各個(gè)平臺(tái)的很多普通的網(wǎng)絡(luò)監(jiān)聽(tīng)軟件則在網(wǎng)上可以自由下載。比較知名的被廣泛用于調(diào)試網(wǎng)絡(luò)故障的免費(fèi) sniff工具 有 :tcpdump(運(yùn)行在 FreeBSD、 linux、 SunOS等系統(tǒng)下 )。Nfswatch(運(yùn)行在 HPUX、 Irix、 SunOS)。 Etherfind, Snooper(運(yùn)行在 SunOS)。 Ipman, therload, Gobbler(運(yùn)行在 DOS、Windows)。 在 Linux下監(jiān)聽(tīng)的基本實(shí)現(xiàn)過(guò)程是通過(guò) Socket來(lái)實(shí)現(xiàn)的 。 Linux支持一種特殊的套接字 , 即 SockPacket型套接字 。 在這種套接字下 , 應(yīng)用程序可以讀到網(wǎng)卡傳遞給系統(tǒng)的全部報(bào)文 , 一般情況下 , 網(wǎng)卡只將那些目的地址是自身的報(bào)文傳遞給系統(tǒng)內(nèi)核。因此,需要將網(wǎng)卡的工作模式設(shè)定為混雜模式,這樣系統(tǒng)內(nèi)核就可以讀到網(wǎng)卡監(jiān)聽(tīng)到的所有報(bào)文,從而監(jiān)聽(tīng)器應(yīng)用程序也可以讀到這些報(bào)文。 數(shù)據(jù) 包 捕獲機(jī)制的研究 縱觀國(guó)內(nèi)外在網(wǎng)絡(luò)嗅探技術(shù)中所使用的包捕獲機(jī)制的方法,大致可歸納為兩類(lèi) : 一類(lèi)是由操作系統(tǒng)內(nèi)核提供的捕獲機(jī)制 ; 另一類(lèi)是由應(yīng)用軟件或系統(tǒng)開(kāi)發(fā)包通過(guò)安裝包捕獲驅(qū)動(dòng)程序提供的捕獲機(jī)制 , 該機(jī)制主要用于 Win32平臺(tái)下的開(kāi)發(fā)。操作系統(tǒng)提供的捕獲機(jī)制主要有四種 : BPF(Berkeley packet Filter), DLPI (Data Link Provider Interface), NIT(Network Interface Tap), Sock Packet類(lèi)型套接口。 BPF由基于 BSD的 Unix系 統(tǒng)內(nèi)核所實(shí)現(xiàn)。 DLPI是 Solaris(和其它System V Unix)系統(tǒng)的內(nèi)嵌子系統(tǒng)。從性能上看, Sock Packet最弱。 Windows操作系統(tǒng)沒(méi)有提供內(nèi)置的包捕獲機(jī)制。它只提供了數(shù)量很少并且功能有限的 API 調(diào)用。 WinPcap(Windows Packet Capture)是 Win32上的第一個(gè)用來(lái)捕獲數(shù)據(jù)包的開(kāi)放系統(tǒng)軟件包,它是一種新提出的強(qiáng)有力并且可擴(kuò)展的框架結(jié)構(gòu)。 WinPcap包含了一系列以前系統(tǒng)所沒(méi)有的創(chuàng)新特性。本文 將對(duì) 目前比較流行的 WinPcap軟件包提供 的 捕獲機(jī)制 進(jìn)行簡(jiǎn)單介紹。 WinPcap 包 捕獲 機(jī)制 WinPcap的體系結(jié)構(gòu)如圖 21所示 : 圖 21 Winpcap的體系結(jié)構(gòu) 由 WinPcap體系結(jié)構(gòu)圖可以看出它采用的是分層化的驅(qū)動(dòng)程序模型, 并包含有三個(gè)組件 : () () WinPcap(Windows Packet Capture)是由微軟資助的一個(gè)項(xiàng)目,其核心仍是基于 NDIS的,但它對(duì) NDIS進(jìn)行封裝,它是 Windows平臺(tái)下一個(gè)免費(fèi) 、 公共的網(wǎng)絡(luò)訪問(wèn)系統(tǒng),它為 win32應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)底層的能力 。 它提供了以下的各項(xiàng)功能: Network Lever Aplication Kernl Lever Packets User code Call Winpcap User code Call Winpcap User code Monitoring Userbuffer1 Userbuffer2 User code Direct access to the NPF calls Statistical Filter1 Filter2 Filter3 Kernel Buffer2 Kernel Buffer2 NIC Driver(NDIS or higher) Other Protocl Stacks User Netgroup Packer filter NPF ,包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送 /接收以及相互之間交換的數(shù)據(jù)報(bào) ; ,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過(guò)濾掉 ; ; 。 在 Windows NT下 WinPcap包捕獲驅(qū)動(dòng)和網(wǎng)卡設(shè)備驅(qū)動(dòng)的交互是通過(guò)NDIS(Network Device Interface Specification)來(lái)實(shí)現(xiàn)的。而且包捕獲 驅(qū)動(dòng)既與網(wǎng)絡(luò)驅(qū)動(dòng)通信又與用戶(hù)應(yīng)用程序通信 ,所以它在 NDIS結(jié)構(gòu)中如同一個(gè)協(xié)議驅(qū)動(dòng), 對(duì) WindowsNT操作系統(tǒng)中的 NDIS結(jié)構(gòu)中的高端驅(qū)動(dòng)進(jìn)行編程,這樣編制的程序與上層應(yīng)用程序更容易連接,應(yīng)用程序?qū)︱?qū)動(dòng)設(shè)置的工作也更方便。 如圖 22所示 : 圖 22 包捕獲驅(qū)動(dòng)在 NDIS中所處位置 套接字包捕獲機(jī)制 上世紀(jì) 80 年代初 ,加利福尼亞大學(xué) Berkeley 分校在 UNIX 操作系統(tǒng)下實(shí)現(xiàn)了 TCP/IP 協(xié)議,它們?yōu)?TCP/IP 網(wǎng)絡(luò)通信開(kāi) 發(fā)了一個(gè)應(yīng)用程序接口( API),這個(gè) API 稱(chēng)為 socket(套接字)接口。 Socket 給程序員提供了一個(gè)高層接口,它的出現(xiàn)使得程序員在編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序時(shí)只需要調(diào)用函數(shù),對(duì)網(wǎng)絡(luò)的底層細(xì)節(jié)并不需要精通,因此十分方便。 socket實(shí)質(zhì)上是提供了進(jìn)程通信的端點(diǎn)。進(jìn)程通信之前,雙方首先必須各自創(chuàng)建一個(gè)端點(diǎn),否則是沒(méi)有辦法建立聯(lián)系并相互通信的。正如打電話之前,雙方必須擁有各自的電話機(jī)一樣。 在網(wǎng)間 和 網(wǎng)內(nèi)部,每一個(gè) socket用一個(gè)半相關(guān)描述 : {協(xié)議,本地地址,本地端口 } 應(yīng)用程序 應(yīng)用程序 協(xié)議驅(qū)動(dòng) 包捕獲驅(qū)動(dòng) NIC 驅(qū)動(dòng) 數(shù)據(jù)包核心層 網(wǎng)絡(luò)層 一個(gè)完整的 socket連接則用一個(gè)相關(guān)描述 :{協(xié)議,本地地址,本地端口,遠(yuǎn)地地址,遠(yuǎn)地端口 } 每一個(gè) socket有一個(gè)本地唯一的 socket號(hào),由操作系統(tǒng)分配。 最重要的是, socket是面向客戶(hù) —— 服務(wù)器模型而設(shè)計(jì)出來(lái)的,針對(duì)客戶(hù)和服務(wù)器程序提供不同的 socket系統(tǒng)調(diào)用??蛻?hù)隨機(jī)申請(qǐng)一個(gè) socket(相當(dāng)于一個(gè)想打電話的人可以在任何一臺(tái)入網(wǎng)電話上撥號(hào)呼叫 ),系統(tǒng)為之分配一個(gè) socket號(hào) 。服務(wù)器擁有全局公認(rèn)的 socket(在 LINUX中, /etc/services用于存儲(chǔ)全局公認(rèn)的 socket號(hào) ),任何客戶(hù)都可以向它發(fā)出連接請(qǐng)求和信息請(qǐng)求。 下面我 們一一給出重要的 socket系統(tǒng)調(diào)用。 函數(shù) socket()可以創(chuàng)建一個(gè) socket對(duì)象, socket()函數(shù)的原型如下: SOCKET socket(int af, int type, int protocol)。 創(chuàng)建一個(gè) socket實(shí)際上是向系統(tǒng)申請(qǐng)一個(gè)屬于自己的 socket號(hào)。 af(Address Family)俗稱(chēng)套接字地址族,如表 。 表 Linux支持的套接字地址族 協(xié)議族、 socket 類(lèi)型和協(xié)議常用的組合如表 : 表 系統(tǒng)調(diào)用三參數(shù)組合關(guān)系 指定本地地址 使用函數(shù) bind()一一 綁定 socket()系統(tǒng)調(diào)用創(chuàng)建 socket時(shí),只指定了相關(guān)五元組的協(xié)議元,沒(méi)有指定套接字地址族 描述 UNIX UNIX域套接字 INET 通過(guò) TCP/IP協(xié)議支持的 Inter地址族 AX25 Amater radio X25 IPX Novell IPX APPLETALK Appletalk DDP X25 X25 協(xié)議族( af) Socket類(lèi)型( type) 協(xié)議( UNIX表示) 實(shí)際協(xié)議 AF_INET Sock_DGRAM IPPROC_UDP UDP Sock_STREAM IPPROC_TCP TCP Sock_RAM IPPROC_ICMP ICMP Sock_RAM IPPROC_RAM 某低級(jí)協(xié)議 其余四元 (本地地址、本地端口、遠(yuǎn)地地址、遠(yuǎn)地端口 ),因此需要?jiǎng)e的系統(tǒng)調(diào)用加以補(bǔ)充。 bind()將本地 socket地址 (包括本地主機(jī)地址和本地端口 )與所創(chuàng)建的socket號(hào)聯(lián)系起來(lái),即將本地 socket地址賦予 socket,以指定本地半相關(guān)。其用于 Linux性能評(píng)估的測(cè)試工具的設(shè)計(jì)與實(shí)現(xiàn)調(diào)用格式為 : bind(sockid, localaddr, addrlen) 總的來(lái)說(shuō),各種 socket地址數(shù)據(jù)結(jié)構(gòu)包括兩大部分 :地址類(lèi)型和協(xié)議地址。網(wǎng)絡(luò)協(xié)議地址又包括主機(jī)地址和端口號(hào)。 監(jiān)聽(tīng) — listen() 對(duì)于服務(wù)器來(lái)說(shuō),在它接受客戶(hù)機(jī)的連接之前,首先要監(jiān)聽(tīng)。只有進(jìn)入了監(jiān)聽(tīng)模式,才能接受來(lái)自客戶(hù)機(jī)的連接。這一點(diǎn)可以通過(guò) listen()函數(shù)來(lái)實(shí)現(xiàn),它的原型如下: int listen(SOCKET s, int backlog)。 各參數(shù)意義如下: s:進(jìn)行監(jiān)聽(tīng)的套接字。 Backlog:正在等待連接的最大隊(duì)列的長(zhǎng)度。如果 backlog的只為 3,有 4個(gè)客戶(hù)機(jī)同時(shí)發(fā)出連接請(qǐng)求,則前 3個(gè)會(huì)放在等待連接隊(duì)列中,最后一個(gè)將被忽略。 如果函數(shù)成功,則返回 0;否則返回 SOCKET_ERROR。 當(dāng)客戶(hù)機(jī)和服務(wù)器的連接建立起來(lái)后,用函數(shù) send()和 recv()來(lái)進(jìn)行數(shù)據(jù)傳輸。 嗅探器的兩面性 從事網(wǎng)絡(luò)安全的技術(shù)人員和相當(dāng)一部分準(zhǔn)黑客(指使用現(xiàn)成的黑客軟件 進(jìn)行攻擊 的人 )都 知道 網(wǎng)絡(luò)嗅探器無(wú)論是在網(wǎng)絡(luò)安全還是在黑客攻擊方面均扮演了很重要的角色。通過(guò)使用網(wǎng)絡(luò)嗅探器可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的捕獲與分析。此分析結(jié)果可供網(wǎng)絡(luò)安全分析之用, 也可 為黑客所利用為其發(fā)動(dòng)進(jìn)一步的攻擊提供有價(jià)值的信息??梢?jiàn),嗅探器實(shí)際是一把雙刃劍。 sinffer的危害 網(wǎng)絡(luò)嗅探器作為被黑客所利用的攻擊工具其危害性主要表現(xiàn)在以下幾個(gè)方面: 通過(guò)攔截?cái)?shù)據(jù)包,入侵者可以記錄網(wǎng)上敏感信息的傳送,或者 干 脆攔截整個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1