Wireshark抓取网络聊天

  • 一、实验要求
  • 二、实验操作
  • 三、数据发送抓包
  • 1. 西文字符
  • 2. 汉字字符
  • 3. 混合发送
  • 四、总结
  • 五、参考


一、实验要求

1)分析此程序网络连接采用的是哪种协议(TCP、UDP)和什么端口号?
2)试着在抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文)
3)如果是网络连接采取的是TCP,分析其建立连接时的3次握手,断开连接时的4次握手;如果是UDP,解释该程序为何能够在多台电脑之间(只有是同一个聊天室编号)同时传输聊天数据?

二、实验操作

  1. 运行疯狂聊天程序,并检测信息连通性
  2. Wireshark进行抓包
  • 进行过滤
    根据代码可以得知程序通过UDP向255.255.255.255发送信息 Wireshark输入筛选命令ip.dst=255.255.255.255
  • wireshark 微信消息 wireshark监听短信_人脸识别


通过Wireshark抓包,可以验证该程序时通过UDP协议进行发送,并发送到广播地址255.255.255.255,保证同房间处于同意端口号的可以接受到信息

三、数据发送抓包

wireshark 微信消息 wireshark监听短信_svm_02

1. 西文字符

此阶段中以个人发送的123456789为例

wireshark 微信消息 wireshark监听短信_svm_03

  1. 根据抓包可知,端口号= 房间号+5000聊天室为78,因此port端口为5078
  2. 发送字符串为123456789转为AscII码即3x,可以在传输数据中显示并查询到
  3. 可以看出一个西文字符对应一个字节,并可以直接查看到抓包数据

2. 汉字字符

wireshark 微信消息 wireshark监听短信_人脸识别_04


因聊天室聊天未截屏进行保存,因此在此阶段不能详细展示聊天室信息,直接进行抓包展示 队友发送的汉字字符为函数式

  1. Port显示同西文字符相同,处于78聊天室因此port为5078
  2. 在发送阶段略有不同 函数式为3汉字,占12字节一个汉字为3字节
  3. 在此阶段,中文字符被隐藏,不能正常显示
  4. 使用字符转换工具 16进制->utf-8查看汉字字符集

3. 混合发送

wireshark 微信消息 wireshark监听短信_svm_05


wireshark 微信消息 wireshark监听短信_人脸识别_06


此阶段为中英文混传

  1. Wireshark抓包后,数据可以在Data中显示,可以看到在包信息中西文字符可正常显示,中文字符隐藏
  2. 使用进制转换工具,查看隐藏字符

四、总结

  • 本次Wireshark实验中,主要会遇到数据发送采用随机虚拟显卡问题,在进行虚拟聊天实验中可以使用强制关闭端口指定路径方式进行抓包实验

    在进行捕获抓包时,可以通过进行本地调试确定发送位置,后进行调试,熟练Wireshark,有利于后续对网络编程进行调试检测

五、参考

基于wireshark练习抓包使用wireshark抓取聊天信息(局域网内的udp通信)