1.前期准备

经过上课和课后了解到的知识,先了解一下TCP协议和UDP协议

TCP/IP 服务是垂直的(底层为高层服务)

公网范围内ip地址是唯一的

TCP是基于连接的,而UDP是基于非连接的。TCP协议就像是打电话通信,UDP协议就相当于是写信给对方

tcp传输数据稳定可靠,适用于对网络通讯质量要求较高的场景,需要准确无误的传输给对方。比如,传输文件,发送邮件,浏览网页等等

udp的优点是速度快,但是可能产生丢包,所以适用于对实时性要求较高但是对少量丢包并没有太大要求的场景。

wireshark显示流id_wireshark


•全局地址-对于Internet等互联网络来说,每一台主机必须拥有一个全网唯一的IP地址作为其身份的唯一标识,这个IP地址称为全局地址。当源主机发送数据到目的主机时,源主机首先要知道目的主机的IP地址。(NAT技术)



•端口-主机中的每一个进程必须具有一个在本主机中唯一的地址,这个地址称为端口(port)。通过端口,端到端的协议(如TCP)才能够将数据正确地交付给相应的进程。


2.实验过程

打开Wireshark,选择“WLAN”

wireshark显示流id_wireshark_02

QQ文件传输采用的是TCP和UDP的传输方式

然后在QQ上给好友发送图片

wireshark显示流id_wireshark显示流id_03

在Wireshark中,采用TCP过滤器并搜索图片.jpg文件的文件头 FF D8 ,找到标记的那一条数据右键在追踪流中选择TCP Stream

wireshark显示流id_测试工具_04

然后进入到这个界面,在下方的 “show data as”中选择 原始数据,然后另存为到电脑的一个位置,这里我选择的是存在了桌面,会比较方便一些。

然后一定记住给文件的后缀名一定是.jpg格式!!

wireshark显示流id_测试工具_05

然后将保存到桌面的.jpg文件在 010 Editor中打开(老师上课用的是WinHEX,两个都可以)

wireshark显示流id_TCP_06

wireshark显示流id_wireshark_07

通过查找找到 FF D8的.jpg文件头的位置,删除掉 FF D8之前的东西后保存到桌面

wireshark显示流id_wireshark显示流id_08

wireshark显示流id_TCP_09

就能成功还原出图片啦!

3.拓展练习

老师上课最后提了一嘴说在群里发一个图片看能不能也能捕获还原出来,现在我们来试一试

继续打开Wireshark,开始捕获分组

然后在群里面发图片

wireshark显示流id_wireshark_10

然后在Wireshark就能捕获下来,和之前的操作一样

wireshark显示流id_wireshark_11

    之后保存到桌面

wireshark显示流id_wireshark显示流id_12

再继续放到 010 Editor中看看,发现FF D8的.jpg文件头在很下面,再删除之前的东西

wireshark显示流id_TCP_13

保存到桌面后也仍然打不开

wireshark显示流id_测试工具_14

之后问了问老师,有可能是被捕获了但是被加密了

所以群里发的图片以我现在的水平可能还原不出来哈哈哈哈哈哈哈哈

4.总结

通过实验能了解并进一步掌握了TCP和UDP协议,还有QQ相关的OICQ协议,也了解了一些关于通过Wireshark捕获数据流的知识,任重道远继续加油吧!