亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

顯形“不可見”的網絡包

網絡世界中的數據包交互我們肉眼是看不見的,它們就好像隱形了一樣,我們對著課本學習計算機網絡的時候就會覺得非常的抽象,加大了學習的難度。

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

直到工作后,認識了兩大分析網絡的利器:tcpdump 和 Wireshark,這兩大利器把我們“看不見”的數據包,呈現在我們眼前,一目了然。

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

tcpdump 和 Wireshark 有什么區別?

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

  • tcpdump 僅支持命令行格式使用,常用在 linux 服務器中抓取和分析網絡包。
  • 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 例子中,我們用過 -i 選項指定網口,用過 -nn 選項不對 IP 地址和端口名稱解析。其他常用的選項,如下表格:

如何抓取網絡包?兩個方法告訴你

tcpdump 常用選項類

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

如何抓取網絡包?兩個方法告訴你

tcpdump 常用過濾表達式類

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

所以,在工作中 tcpdump 只是用來抓取數據包,不用來分析數據包,而是把 tcpdump 抓取的數據包保存成 pcap 后綴的文件,接著用 Wireshark 工具進行數據包分析。

Wireshark 工具如何分析數據包?

Wireshark 除了可以抓包外,還提供了可視化分析網絡包的圖形頁面,同時,還內置了一系列的匯總分析工具。

比如,拿上面的 ping 例子來說,我們可以使用下面的命令,把抓取的數據包保存到 ping.pcap 文件

如何抓取網絡包?兩個方法告訴你

 

接著把 ping.pcap 文件拖到電腦,再用 Wireshark 打開它。打開后,你就可以看到下面這個界面:

如何抓取網絡包?兩個方法告訴你

 

是吧?在 Wireshark 的頁面里,可以更加直觀的分析數據包,不僅展示各個網絡包的頭部信息,還會用不同的顏色來區分不同的協議,由于這次抓包只有 ICMP 協議,所以只有紫色的條目。

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

如何抓取網絡包?兩個方法告訴你

ping 網絡包

  • 可以在數據鏈路層,看到 mac 包頭信息,如源 MAC 地址和目標 MAC 地址等字段;
  • 可以在 IP 層,看到 IP 包頭信息,如源 IP 地址和目標 IP 地址、TTL、IP 包長度、協議等 IP 協議各個字段的數值和含義;
  • 可以在 ICMP 層,看到 ICMP 包頭信息,比如 Type、Code 等 ICMP 協議各個字段的數值和含義;

Wireshark 用了分層的方式,展示了各個層的包頭信息,把“不可見”的數據包,清清楚楚的展示了給我們,還有理由學不好計算機網絡嗎?是不是相見恨晚

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

如何抓取網絡包?兩個方法告訴你

 

分享到:
標簽:網絡
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定