天天看點

《Wireshark網絡分析實戰》—第1章1.9節配置Preferences視窗中的Protocol選項

本節書摘來自異步社群《wireshark網絡分析實戰》一書中的第1章1.9節配置preferences視窗中的protocol選項,作者【以色列】yoram orzach,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

1.9 配置preferences視窗中的protocol選項

wireshark網絡分析實戰

借助于preferences視窗中的protocol選項,可調整wireshark對相關協定流量的抓取和呈現方式。本節會介紹如何借助preferences視窗中的protocol配置選項,來調整wireshark對常見協定流量的抓取和呈現方式。

1.9.1 配置準備

1.點選edit菜單中的preferences菜單項,preferences視窗會立刻彈出,如圖1.29所示。

《Wireshark網絡分析實戰》—第1章1.9節配置Preferences視窗中的Protocol選項

2.在preferences視窗的左邊找到protocols配置選項,點其左邊的“+”号,會出現一份“協定”清單。在這份清單裡包含了諸多常用或不常用協定。此處隻讨論某些常用協定的配置,對相關協定的介紹詳見7~14章。

1.9.2 配置方法

本節将介紹以下“基本”協定的配置方法(“基本”意指常用,并不是指簡單):

ipv4/ipv6;

tcp/udp。

配置protocol選項裡的ipv4和ipv6協定

在preferences視窗的protocols選項裡選中ipv4或ipv6協定時,視窗的右邊會出現若幹子選項,如圖1.30所示。

《Wireshark網絡分析實戰》—第1章1.9節配置Preferences視窗中的Protocol選項

下面是對ipv4協定下若幹子選項的解釋。

decode ipv4 tos field as diffserv field:制定ipv4協定标準之初,為能在ipv4網絡中保證服務品質,在ipv4標頭中設立了一個叫做“服務類型(tos)”的字段。後來,ietf又制定了一套ipv4服務品質的新标準(區分服務,diffserv),打的也是ipv4標頭中原tos字段的主意,隻是對其中各個位的置位方式有了新的定義。若未勾選與decode ipv4 tos field as diffserv field子選項相關聯的複選框,wireshark便會按老的ipv4服務品質标準,來解析所抓ipv4資料包標頭中的tos字段。

enable geoip lookups:geoip是一個資料庫,wireshark可根據該資料庫裡的内容,來呈現(其所抓資料包ip標頭中源和目的)ip位址所歸屬的地理位置。若勾選與enable geoip lookups子選項相關聯的複選框,wireshark便會針對所抓ipv4和ipv6資料包的ip位址來呈現其所歸屬的地理位置。該子選項功能涉及名字解析,一旦開啟,便會拖慢wireshark實時運作速率。

配置 protocol選項裡的udp和tcp協定

udp協定非常簡單,是以protocols選項裡udp協定名下可配置的子選項并不多;而tcp協定則很是複雜,protocols選項裡tcp協定名下可配置的參數(子選項)也要多于udp協定(見圖1.31)。

更改tcp協定名下的各個參數,其實也就是調整wireshark對tcp資料包的解析方式。

《Wireshark網絡分析實戰》—第1章1.9節配置Preferences視窗中的Protocol選項

validate the tcp checksum if possible:有時,wireshark會抓到超多校驗和錯誤(checksum errors)的資料包,這要歸因于在抓包主機的網卡上開啟的tcp checksum offloading(tcp校驗和下放)功能。該功能一開,便會導緻wireshark将抓到的本機生成的資料包顯示為“checksum errors”(具體原因後文再表)。是以,若wireshark抓到了超多校驗和錯誤的資料包,則有必要先取消勾選與validate the tcp checksum if possible子選項關聯的複選框,再去驗證是否真的存在校驗和問題。

analyze tcp sequence numbers:要讓wireshark對tcp資料包做詳盡分析,就必須勾選與analyze tcp sequence numbers參數相關聯的複選框,因為“tcp sequence numbers(tcp序列号)”是tcp最重要的特性之一。

relative sequence numbers:主機在建立tcp連接配接時,會啟用一個随機的序列号,并将其值存入互相交換的第一個封包段的tcp頭部的序列号字段1。隻要勾選了與relative sequence numbers參數相關聯的複選框,wireshark就會把(一股tcp資料流中的)第一個tcp封包段的(tcp頭部的)序列号字段值顯示為0,後續tcp封包段的序列号字段值将依次遞增,進而隐藏了真實的序列号字段值。在大多數情況下,都應該讓wireshark顯示tcp封包段的相對序列号(relative number),以友善網管人員檢視。

calculate conversations timestamps:與該參數相關聯的複選框一經勾選,在抓包主視窗的資料包結構區域中,隻要是tcp資料包,就會在transmission control protocol樹下多出一個timestamps結構,點選其前面的“+”号,就能看到wireshark記錄的該tcp資料包在本股tcp資料流中的相關時間戳(timestamps)參數。讓wireshark顯示tcp資料包的timestamps資訊,将有助于排查當時間敏感型tcp應用程式故障。

1.9.3 幕後原理

通過修改preferences視窗中protocols選項下相關協定的參數,便能開啟或禁用wireshark軟體對相應協定流量的某些分析功能。需要注意的是,為了保證wireshark軟體的運作速度,應盡量禁用不必要的分析功能。

1.9.4 進階閱讀

1譯者注:原文是“when tcp opens a connection, it starts from a random sequence number”。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。