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