练习wireshark抓取网络数据包。在两台及两台以上的电脑(已知IPv4地址)上运行 “疯狂聊天室”程序,通过wireshark抓包: 1)分析此程序网络连接采用的是哪种协议(TCP、UDP)和什么端口号? 2)试着在抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文) 3)如果是网络连接采取的是TCP,分析其建立连接时的3次握手,断开连接时的4次握手;如果是UDP,解释该程序为何能够在多台电脑之间(只有是同一个聊天室编号)同时传输聊天数据?
一、疯狂聊天室
1.1 下载
百度网盘下载链接: 链接:https://pan.baidu.com/s/1oL5h7C8Zr2FE3g8htPXcKA 提取码:0011
1.2 如何使用
- 解压文件,点击文件里的 crazychat.exe 创建一个聊天室:
- 笔主这里昵称为12,房间号为888
- 你和你朋友或者你自己和你自己进入这个聊天室,这时你发送下消息可能会发现根本收不到,好的 这时候我们就需要打开:控制面板——控制面板\网络和 Internet\网络和共享中心——更改适配器设置,留下你连接的网络,禁用其他的网关。
注意:使用疯狂聊天室最好是使用同一个网络(WiFi或者手机热点),不然可能接收不到消息。
- 笔主这里是最后截的这张图片,所以前面的消息是用于后面的抓包。
二、wireshake抓包
2.1 找到对应的包
2.1.1 怎么筛选
- 在wireshake中及时找到,可以看到 Ip address为广播地址255.255.255.255
- 双击打开,可以看到端口号和发送的信息明文显示及字节编码。
2.1.2筛选
- 由上面可以得知是通过广播方式向其他电脑发送数据,就可以使用筛选器将目的地址设为255.255.255.255,在过滤器框内输入
ip.addr==255.255.255.255 即可筛选出来所有发送的信息。 - 如下:
2.2 发送文字抓到的包
2.3 一条接收的消息
- 疯狂聊天室里的显示:
- wireshake中:
- 可以看到收到的消息明文,以及端口号
可以看到发送人的名字并没有显示出来,不知道是电脑问题还是都不会显示。
小小的总结
- 由筛选出来的抓包文件可以看出,软件使用的协议是UDP。
- 抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文)。用的是16进制的字符,如果要每一个都看懂,一定要对编码方式非常了解。例如:前4个字节代表什么,紧接着xx个字节代表什么之类的。
- 能在多台电脑上同时传输聊天数据的原因是发送信息时使用的广播地址,所以可以多方收到消息。
参考文献
- 使用wireshark抓取聊天信息(局域网内的udp通信)
|