如果想让网络进行正常通信,你必须至少拥有两台设备进行数据流交互。端点(endpoint)就是指网络上能够发送和接受数据的一台设备。举例来说,在TCP/IP的通信中就有两个断电:接收和发送数据系统的IP地址,比如192.168.1.25和192.168.1.30。
例如在数据链路层,通信时基于两台物理网卡和它们的MAC地址进行的。如果接收和发送数据的地址是 00:ff:ac:ce:0b:de 和 00:ff:ac:e0:dc:0f ,那么这些地址就是通信中的端点,如下图所示。
1111079-20170710205311384-1583587517.png网络上的端点

网络上的一个会话(conversation),就如同两个人之间的会话一样,描述的是两台主机(端点)之间进行的通信。举例来说,小明和丁丁的绘画可能是这样子的:“你好吗?”,“我很好,你呢?”,“我也很好!”。192.168.1.5和192.168.0.8之间的一个会话可能是这样的:“SYN”,“SYN/ACK”,“ACK”。

1. 查看端点

Wireshark的Endpoints窗口(Statistics->Endpoints、统计->端点)给出了每一端点的许多有用的统计信息,包括每个端点的地址、传输发送数据包的数量和字节数。
1111079-20170710210019900-928988590.png
端点窗口可以让你查看一个捕获文件里的每个端点

这个窗口顶部的选项卡给出了当前捕获文件中所有支持和被识别的端点。单击其中一个选项卡,就可以将断电的列表缩小到某一个协议上。勾选Name Resolution(解析名称)多选框,可以在端点窗口中开启名字解析功能。(在Ethernet页签下可以开启,在IPv4选项下开启不了)。
你可以使用端点窗口将特定的数据包过滤出来,显示在Packet List面板中。右键单击一个特定的端点,可以看到许多选项,包括创建过滤器以显示只与这个断电相关的流量,或者与选定端点无关的所有流量。你也可以直接将端点导出到一个着色规则中。

2.查看网络会话

Wireshark的会话窗口(Statistics->Conversations、统计->对话),如下图所示,以地址A(Address A)和地址B(Address B)显示了会话中端点的地址,以及每个设备发送或接收到的数据包和字节数。
1111079-20170710211054150-1102066921.png会话窗口可以让你与捕获文件中的每个会话进行交互

这个窗口中列出的会话以不同的协议分开,并可以通过窗口顶部的选项卡进行选择。右键单击一个特定的会话,可以让你创建一些有用的过滤器,比如显示由设备A发出的所有流量,设备B收到的所有流量,或者设备A和设备B之间所有的通信流量。

3.使用端点和会话窗口进行问题定位

打开Wireshark开始嗅探,同时我打开了腾讯视频看起了奔跑吧,然后过了一段时间停止了嗅探,然后打开端点窗口,将数据按照Bytes由大到小进行排序,如下。
1111079-20170710212722478-128791204.png

可以发现第一个192.168.4.109是我本地的地址,而第二个112.253.11.137应该就是爱奇艺的一个IP地址了。

知道了这些消息,你最活跃的通信端点一定包含了流量最大的会话吗?如果这时你打开了会话窗口,并选中了IPv4选项卡,你就可以使用字节数对列表排序来验证这一点。在这个例子中,你可以看到这个流量应该是连续的视频下载流量,因为从地址A(112.253.11.137)发出的数据包比从地址B(192.168.4.109)发出的数据包要大得多。
1111079-20170710213409790-1881656770.png会话窗口中确定了最活跃的两个信息源实在相互通信