关于使用wireshark抓包在局域网内,手机向QQ传输文件的实验

  在课堂上,老师向我们介绍并演示了软件wiresharkWireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。)的一些基础用法,并且让我们做了个小实验,实验的内容便是使用wireshark抓包手机向QQ传输的文件。

  一般来说,使用即时通讯软件传输文件时,会将需要传输到目标设备的数据先传输到服务器(用于云端下载),再从云端下载下来,这个过程中会对数据进行加密,以保证这个通话的安全性,但如果在传输时,发送数据的设备和接收文件的设备都处于同一个网络(局域网)中,就会绕开服务器,直接向目标设备发送一份未加密的数据(但仍会向服务器传送一份数据,目的是为了能从云端再次下载),为了验证这个说法是否正确,我开始了实验。

  由于个人水平不够,所以可能在一些名词和概念的表达上有不准确的地方,欢迎各位大牛的指正!

  本次实验要用到的软件有wireshark,QQ,winhex(用于修改文件头),任意图片查看器。

    QQ  WinHex  wireshark

  首先,要确认手机和电脑处于同一个网络内,在手机的相关设置内获得手机被分配的ip(以下简称为A)后,使用wireshark在该网络内追踪A发出的数据(命令:ip.src == A)

  手机的设置内一般可查看自己被分配的IP  

  然后使用手机上的QQ向电脑的QQ传输任意jpg格式的图片,可以看到wireshark此时已经抓取到了这次传输的数据流。

  wireshark捕捉到的数据流以及我发送到电脑的图片

  右键选中这次通讯,选择“追踪TCP流”。

  追踪TCP流

  在出现的新界面的左下角选择A发送到电脑的数据(默认为整个对话),旁边的以何种方式查看数据的选择“原始数据”,然后将获得的数据使用“另存为”保存到本地,由于已经知道传输的是jpg格式的文件,所以后缀名就直接使用.jpg了。

  第一步  第二步  第三步,另存为

  这时,使用图片查看器打开该文件时,会发现无法打开,这是因为在传输时,QQ会在文件头内加入用于描述该文件的一段描述文字,只要把这段描述文字删除就可以正常打开了。

  获得的文件  直接打开的结果

  用WinHex打开该文件,可以看到在文件头的一段描述文字后,紧接着的就是jpg文件的文件头(FFD8FFE0或FFD8FFE1或FFD8FFE8),将描述文字删除,保存,再使用图片查看器打开该文件,发现就能正常打开了。

  删除前,选中的是QQ在文件头加入的描述字段  删除后

  删除后使用图片查看器打开

  同理,在局域网中传输其他类型的文件时,也能使用类似的操作获得其他文件传输时的数据。可见QQ在局域网内传输数据时,虽然通过绕开服务器的方式保证了传输的速度,但安全性有所欠缺。由此也能推测其他通讯工具在传输时可能也有相似的隐患。同时,也能看出使用公共wifi时的安全隐患:数据极易被窃取。

 

  部分资料来源:
    百度百科:https://baike.baidu.com/item/%E6%96%87%E4%BB%B6%E5%A4%B4/2695144
    百度百科:https://baike.baidu.com/item/Wireshark/10876564

posted on 2022-10-08 15:47  H4RUH1RO  阅读(1199)  评论(2编辑  收藏  举报