賈翔+秦雯++嚴(yán)沛
【摘要】目前Windows環(huán)境下的數(shù)據(jù)包捕獲器已有很多,但Linux環(huán)境下的數(shù)據(jù)包捕獲器還未成熟。這里利用Libpcap這一數(shù)據(jù)包捕獲開(kāi)發(fā)包工具,在網(wǎng)卡為混雜模式時(shí)對(duì)數(shù)據(jù)包進(jìn)行捕獲,通過(guò)使用BPF過(guò)濾機(jī)制,過(guò)濾掉網(wǎng)絡(luò)上不需要的數(shù)據(jù)包,而只捕獲用戶感興趣的數(shù)據(jù)包,并對(duì)數(shù)據(jù)包進(jìn)行分析。
【關(guān)鍵詞】網(wǎng)絡(luò)協(xié)議Libpcap數(shù)據(jù)包捕獲
一、引言
現(xiàn)如今,隨著Linux操作系統(tǒng)的推廣,Linux下的相關(guān)監(jiān)控、維護(hù)需求也逐漸增多,本捕獲器正是利用了這一優(yōu)勢(shì)。數(shù)據(jù)包捕獲開(kāi)發(fā)包Libpcap(The Packet Capture Library)是一個(gè)平臺(tái)獨(dú)立的網(wǎng)絡(luò)數(shù)據(jù)包捕獲開(kāi)發(fā)包。它是一個(gè)高層的編程接口,隱藏了操作系統(tǒng)的細(xì)節(jié),可以捕獲網(wǎng)絡(luò)上的所有數(shù)據(jù)包,包括到達(dá)其他主機(jī)的數(shù)據(jù)包。Libpcap中使用了BPF過(guò)濾機(jī)制,這部分是基于內(nèi)核的過(guò)濾模塊,它使得Libpcap具有捕獲特定數(shù)據(jù)包的功能。
二、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
總體思想:根據(jù)以太網(wǎng)協(xié)議類(lèi)型字段ethernet _type,判斷數(shù)據(jù)包協(xié)議類(lèi)型是ARP、IP還是RARP,若為IP協(xié)議數(shù)據(jù)包,則繼續(xù)分析其類(lèi)型字段,判斷數(shù)據(jù)包協(xié)議是TCP、UDP還是ICMP。若為T(mén)CP、UDP,即可根據(jù)其端口號(hào)判斷在其基礎(chǔ)上的應(yīng)用層協(xié)議。若為ICMP可根據(jù)其類(lèi)型進(jìn)一步分析ICMP數(shù)據(jù)包。
本網(wǎng)絡(luò)數(shù)據(jù)包捕獲器可對(duì)以太網(wǎng)協(xié)議數(shù)據(jù)包、ARP協(xié)議數(shù)據(jù)包、RARP協(xié)議數(shù)據(jù)包、IP協(xié)議數(shù)據(jù)包、ICMP協(xié)議數(shù)據(jù)包、TCP協(xié)議數(shù)據(jù)包、UDP協(xié)議數(shù)據(jù)包進(jìn)行抓捕并分析,應(yīng)用層協(xié)議數(shù)據(jù)包的分析可在后續(xù)開(kāi)發(fā)中追加。
函數(shù)回調(diào)關(guān)系如圖1所示。
三、實(shí)現(xiàn)
本網(wǎng)絡(luò)捕獲器主要通過(guò)Libpcap實(shí)現(xiàn),利用Qt制作一個(gè)界面。
在文字“請(qǐng)輸入命令”下面的輸入框中輸入所要捕捉的數(shù)據(jù)包類(lèi)型(如./ip),點(diǎn)擊“運(yùn)行”。即可對(duì)IP數(shù)據(jù)包進(jìn)行捕獲、分析。如圖2所示。
四、結(jié)束語(yǔ)
網(wǎng)絡(luò)數(shù)據(jù)包捕獲器是對(duì)網(wǎng)絡(luò)進(jìn)行后續(xù)分析、診斷、安全防范的基礎(chǔ),對(duì)網(wǎng)絡(luò)進(jìn)行更深層次的探究、分析具有重要意義。
參考文獻(xiàn)
[1]吳功宜,董大凡,王[王][君],劉乾. 計(jì)算機(jī)網(wǎng)絡(luò)高級(jí)軟件編程技術(shù). 北京:清華大學(xué)出版社,2011
[2]程光,楊望. 網(wǎng)絡(luò)安全實(shí)驗(yàn)教程. 北京:北京交通大學(xué)出版社,2013
[3]劉文濤. 網(wǎng)絡(luò)安全開(kāi)發(fā)包詳解. 北京:電子工業(yè)出版社,2005
【摘要】目前Windows環(huán)境下的數(shù)據(jù)包捕獲器已有很多,但Linux環(huán)境下的數(shù)據(jù)包捕獲器還未成熟。這里利用Libpcap這一數(shù)據(jù)包捕獲開(kāi)發(fā)包工具,在網(wǎng)卡為混雜模式時(shí)對(duì)數(shù)據(jù)包進(jìn)行捕獲,通過(guò)使用BPF過(guò)濾機(jī)制,過(guò)濾掉網(wǎng)絡(luò)上不需要的數(shù)據(jù)包,而只捕獲用戶感興趣的數(shù)據(jù)包,并對(duì)數(shù)據(jù)包進(jìn)行分析。
【關(guān)鍵詞】網(wǎng)絡(luò)協(xié)議Libpcap數(shù)據(jù)包捕獲
一、引言
現(xiàn)如今,隨著Linux操作系統(tǒng)的推廣,Linux下的相關(guān)監(jiān)控、維護(hù)需求也逐漸增多,本捕獲器正是利用了這一優(yōu)勢(shì)。數(shù)據(jù)包捕獲開(kāi)發(fā)包Libpcap(The Packet Capture Library)是一個(gè)平臺(tái)獨(dú)立的網(wǎng)絡(luò)數(shù)據(jù)包捕獲開(kāi)發(fā)包。它是一個(gè)高層的編程接口,隱藏了操作系統(tǒng)的細(xì)節(jié),可以捕獲網(wǎng)絡(luò)上的所有數(shù)據(jù)包,包括到達(dá)其他主機(jī)的數(shù)據(jù)包。Libpcap中使用了BPF過(guò)濾機(jī)制,這部分是基于內(nèi)核的過(guò)濾模塊,它使得Libpcap具有捕獲特定數(shù)據(jù)包的功能。
二、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
總體思想:根據(jù)以太網(wǎng)協(xié)議類(lèi)型字段ethernet _type,判斷數(shù)據(jù)包協(xié)議類(lèi)型是ARP、IP還是RARP,若為IP協(xié)議數(shù)據(jù)包,則繼續(xù)分析其類(lèi)型字段,判斷數(shù)據(jù)包協(xié)議是TCP、UDP還是ICMP。若為T(mén)CP、UDP,即可根據(jù)其端口號(hào)判斷在其基礎(chǔ)上的應(yīng)用層協(xié)議。若為ICMP可根據(jù)其類(lèi)型進(jìn)一步分析ICMP數(shù)據(jù)包。
本網(wǎng)絡(luò)數(shù)據(jù)包捕獲器可對(duì)以太網(wǎng)協(xié)議數(shù)據(jù)包、ARP協(xié)議數(shù)據(jù)包、RARP協(xié)議數(shù)據(jù)包、IP協(xié)議數(shù)據(jù)包、ICMP協(xié)議數(shù)據(jù)包、TCP協(xié)議數(shù)據(jù)包、UDP協(xié)議數(shù)據(jù)包進(jìn)行抓捕并分析,應(yīng)用層協(xié)議數(shù)據(jù)包的分析可在后續(xù)開(kāi)發(fā)中追加。
函數(shù)回調(diào)關(guān)系如圖1所示。
三、實(shí)現(xiàn)
本網(wǎng)絡(luò)捕獲器主要通過(guò)Libpcap實(shí)現(xiàn),利用Qt制作一個(gè)界面。
在文字“請(qǐng)輸入命令”下面的輸入框中輸入所要捕捉的數(shù)據(jù)包類(lèi)型(如./ip),點(diǎn)擊“運(yùn)行”。即可對(duì)IP數(shù)據(jù)包進(jìn)行捕獲、分析。如圖2所示。
四、結(jié)束語(yǔ)
網(wǎng)絡(luò)數(shù)據(jù)包捕獲器是對(duì)網(wǎng)絡(luò)進(jìn)行后續(xù)分析、診斷、安全防范的基礎(chǔ),對(duì)網(wǎng)絡(luò)進(jìn)行更深層次的探究、分析具有重要意義。
參考文獻(xiàn)
[1]吳功宜,董大凡,王[王][君],劉乾. 計(jì)算機(jī)網(wǎng)絡(luò)高級(jí)軟件編程技術(shù). 北京:清華大學(xué)出版社,2011
[2]程光,楊望. 網(wǎng)絡(luò)安全實(shí)驗(yàn)教程. 北京:北京交通大學(xué)出版社,2013
[3]劉文濤. 網(wǎng)絡(luò)安全開(kāi)發(fā)包詳解. 北京:電子工業(yè)出版社,2005
【摘要】目前Windows環(huán)境下的數(shù)據(jù)包捕獲器已有很多,但Linux環(huán)境下的數(shù)據(jù)包捕獲器還未成熟。這里利用Libpcap這一數(shù)據(jù)包捕獲開(kāi)發(fā)包工具,在網(wǎng)卡為混雜模式時(shí)對(duì)數(shù)據(jù)包進(jìn)行捕獲,通過(guò)使用BPF過(guò)濾機(jī)制,過(guò)濾掉網(wǎng)絡(luò)上不需要的數(shù)據(jù)包,而只捕獲用戶感興趣的數(shù)據(jù)包,并對(duì)數(shù)據(jù)包進(jìn)行分析。
【關(guān)鍵詞】網(wǎng)絡(luò)協(xié)議Libpcap數(shù)據(jù)包捕獲
一、引言
現(xiàn)如今,隨著Linux操作系統(tǒng)的推廣,Linux下的相關(guān)監(jiān)控、維護(hù)需求也逐漸增多,本捕獲器正是利用了這一優(yōu)勢(shì)。數(shù)據(jù)包捕獲開(kāi)發(fā)包Libpcap(The Packet Capture Library)是一個(gè)平臺(tái)獨(dú)立的網(wǎng)絡(luò)數(shù)據(jù)包捕獲開(kāi)發(fā)包。它是一個(gè)高層的編程接口,隱藏了操作系統(tǒng)的細(xì)節(jié),可以捕獲網(wǎng)絡(luò)上的所有數(shù)據(jù)包,包括到達(dá)其他主機(jī)的數(shù)據(jù)包。Libpcap中使用了BPF過(guò)濾機(jī)制,這部分是基于內(nèi)核的過(guò)濾模塊,它使得Libpcap具有捕獲特定數(shù)據(jù)包的功能。
二、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
總體思想:根據(jù)以太網(wǎng)協(xié)議類(lèi)型字段ethernet _type,判斷數(shù)據(jù)包協(xié)議類(lèi)型是ARP、IP還是RARP,若為IP協(xié)議數(shù)據(jù)包,則繼續(xù)分析其類(lèi)型字段,判斷數(shù)據(jù)包協(xié)議是TCP、UDP還是ICMP。若為T(mén)CP、UDP,即可根據(jù)其端口號(hào)判斷在其基礎(chǔ)上的應(yīng)用層協(xié)議。若為ICMP可根據(jù)其類(lèi)型進(jìn)一步分析ICMP數(shù)據(jù)包。
本網(wǎng)絡(luò)數(shù)據(jù)包捕獲器可對(duì)以太網(wǎng)協(xié)議數(shù)據(jù)包、ARP協(xié)議數(shù)據(jù)包、RARP協(xié)議數(shù)據(jù)包、IP協(xié)議數(shù)據(jù)包、ICMP協(xié)議數(shù)據(jù)包、TCP協(xié)議數(shù)據(jù)包、UDP協(xié)議數(shù)據(jù)包進(jìn)行抓捕并分析,應(yīng)用層協(xié)議數(shù)據(jù)包的分析可在后續(xù)開(kāi)發(fā)中追加。
函數(shù)回調(diào)關(guān)系如圖1所示。
三、實(shí)現(xiàn)
本網(wǎng)絡(luò)捕獲器主要通過(guò)Libpcap實(shí)現(xiàn),利用Qt制作一個(gè)界面。
在文字“請(qǐng)輸入命令”下面的輸入框中輸入所要捕捉的數(shù)據(jù)包類(lèi)型(如./ip),點(diǎn)擊“運(yùn)行”。即可對(duì)IP數(shù)據(jù)包進(jìn)行捕獲、分析。如圖2所示。
四、結(jié)束語(yǔ)
網(wǎng)絡(luò)數(shù)據(jù)包捕獲器是對(duì)網(wǎng)絡(luò)進(jìn)行后續(xù)分析、診斷、安全防范的基礎(chǔ),對(duì)網(wǎng)絡(luò)進(jìn)行更深層次的探究、分析具有重要意義。
參考文獻(xiàn)
[1]吳功宜,董大凡,王[王][君],劉乾. 計(jì)算機(jī)網(wǎng)絡(luò)高級(jí)軟件編程技術(shù). 北京:清華大學(xué)出版社,2011
[2]程光,楊望. 網(wǎng)絡(luò)安全實(shí)驗(yàn)教程. 北京:北京交通大學(xué)出版社,2013
[3]劉文濤. 網(wǎng)絡(luò)安全開(kāi)發(fā)包詳解. 北京:電子工業(yè)出版社,2005