且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Wireshark网络分析实战》—第1章1.9节配置Preferences窗口中的Protocol选项

更新时间:2022-10-13 10:06:55

本节书摘来自异步社区《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 进阶阅读
欲知更多与GeoIP有关的信息,请访问http://wiki.wireshark.org/HowToUseGeoIP

1译者注:原文是“when TCP opens a connection, it starts from a random sequence number”。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。