一、Wireshark
1. Wireshark简介
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
2. Wireshark工作流程
- (1)确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。
- (2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
- (3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
- (4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
- (5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
- (6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
- (7)重组数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中。为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现。
二、抓取聊天网络数据包
1.设备连接
- 两台电脑连接同一个热点,打开疯狂聊天软件,并在聊天程序中输入同一个房间号:
- 测试是否连通
2. 使用wireshark进行抓包
-在wireshark中输入筛选ip.dst==255.255.255.255
进行过滤
可以发现存在这样的包,同时也验证了是基于UDP
协议进行发送,而且是发送到广播地址255.255.255.255
。这样处于同一个房间即处在同一个端口号的所有人都可以接受到消息。
3. 测试分析
-
发送一串数字
-
在wireshark中提取对应的包
可以发现端口号为5005,通过分析源码可以得知端口号为房间号+5000,而我们的房间号为5。 -
查看发送内容
从Data处可以看到窗口发送的114511
三、总结
软件使用的协议是UDP,连接端口是5005,能在多台电脑上同时传输聊天数据的原因是发送信息时使用的广播地址。