網路資料報抓取工具 如何抓取網路包?兩個方法告訴你

2021-10-11 15:44:56 字數 2584 閱讀 5931

網路世界中的資料報互動我們肉眼是看不見的,它們就好像**了一樣,我們對著課本學習計算機網路的時候就會覺得非常的抽象,加大了學習的難度。

還別說,我自己在大學的時候,也是如此。

直到工作後,認識了兩大分析網路的利器:tcpdump 和 wireshark,這兩大利器把我們「看不見」的資料報,呈現在我們眼前,一目了然。

唉,當初大學學習計網的時候,要是能知道這兩個工具,就不會學的一臉懵逼。

tcpdump 和 wireshark 有什麼區別?

tcpdump 和 wireshark 就是最常用的網路抓包和分析工具,更是分析網路效能必不可少的利器。

所以,這兩者實際上是搭配使用的,先用 tcpdump 命令在 linux 伺服器上抓包,接著把抓包的檔案拖出到 windows 電腦後,用 wireshark 視覺化分析。

當然,如果你是在 windows 上抓包,只需要用 wireshark 工具就可以。

tcpdump 在 linux 下如何抓包?

tcpdump 提供了大量的選項以及各式各樣的過濾表示式,來幫助你抓取指定的資料報,不過不要擔心,只需要掌握一些常用選項和過濾表示式,就可以滿足大部分場景的需要了。

假設我們要抓取下面的 ping 的資料報:

要抓取上面的 ping 命令資料報,首先我們要知道 ping 的資料報是 icmp 協議,接著在使用 tcpdump 抓包的時候,就可以指定只抓 icmp 協議的資料報:

那麼當 tcpdump 抓取到 icmp 資料報後, 輸出格式如下:

從 tcpdump 抓取的 icmp 資料報,我們很清楚的看到 icmp echo 的互動過程了,首先傳送方發起了 icmp echo request 請求報文,接收方收到後回了乙個 icmp echo reply 響應報文,之後 seq 是遞增的。

接下來,我們再來看看常用的過濾表用法,在上面的 ping 例子中,我們用過的是 icmp and host 183.232.231.174,表示抓取 icmp 協議的資料報,以及源位址或目標位址為 183.232.231.174 的包。其他常用的過濾選項,我也整理成了下面這個**。

說了這麼多,你應該也發現了,tcpdump 雖然功能強大,但是輸出的格式並不直觀。

所以,在工作中 tcpdump 只是用來抓取資料報,不用來分析資料報,而是把 tcpdump 抓取的資料報儲存成 pcap 字尾的檔案,接著用 wireshark 工具進行資料報分析。

wireshark 工具如何分析資料報?

wireshark 除了可以抓包外,還提供了視覺化分析網路包的圖形頁面,同時,還內建了一系列的彙總分析工具。

比如,拿上面的 ping 例子來說,我們可以使用下面的命令,把抓取的資料報儲存到 ping.pcap 檔案

接著把 ping.pcap 檔案拖到電腦,再用 wireshark 開啟它。開啟後,你就可以看到下面這個介面:

是吧?在 wireshark 的頁面裡,可以更加直觀的分析資料報,不僅展示各個網路包的頭部資訊,還會用不同的顏色來區分不同的協議,由於這次抓包只有 icmp 協議,所以只有紫色的條目。

接著,在網路包列表中選擇某乙個網路包後,在其下面的網路包詳情中,可以更清楚的看到,這個網路包在協議棧各層的詳細資訊。比如,以編號 1 的網路包為例子:

wireshark 用了分層的方式,展示了各個層的包頭資訊,把「不可見」的資料報,清清楚楚的展示了給我們,還有理由學不好計算機網路嗎?是不是相見恨晚

從 ping 的例子中,我們可以看到網路分層就像有序的分工,每一層都有自己的責任範圍和資訊,上層協議完成工作後就交給下一層,最終形成乙個完整的網路包。

抓取網路資料報

當使用者在區域網內傳遞資料時,處於同一網段的所有計算機的網絡卡都會收到這些資料,儘管它不是傳遞資料的目的地。利用這一特點,我們就可以截獲區域網中傳遞的資料。為了能夠獲取通過網絡卡上的資料,需要建立原始套接字。使用者可以將socket函式的第二個引數設定為sock raw來建立原始套接字。例如 m s...

pacp 網路資料報抓取

我們可以分5個步驟來描述使用libpcap編寫程式的步驟 我們首先要決定監聽的裝置介面,這個可以用乙個string來表示,也可以由pcap提供給我們。初始化pcap。我們要告訴pcap需要監聽的是哪乙個裝置。pcap對於不同的裝置,使用session來區分它們,乙個裝置就是一 個 session 我...

linux中如何抓取資料報

使用如下命令 tcpdump tcp port 80 s 256 w root upload file.pcap 如何檢視flv檔案的基本資訊 ffprobe filename 檢視檔案的基本資訊 file 檔案 檢視history 命令 history svn 設定ignore目錄和檔案 忽略tm...