实验环境:一部可以使用qq的手机,一台可以登录另一个qq的电脑,Win Hex数据处理软件,wireshark抓包软件。
实验诉求:运用技术手段捕获qq上的照片
首先对于qq好友之间连接方式的分析
通过服务器中转
如果和好友不在相同的局域网环境下,或者直接P2P连接失败,QQ客户端将使用服务器中转的方式进行消息传递。此时,消息先从好友的QQ客户端发送到QQ服务器,然后再由服务器将消息发送到你的QQ客户端,你实际上是在和QQ服务器的IP地址进行数据交互。
直接P2P连接
如果和好友处于相同的局域网环境(比如在同一Wi-Fi网络下),QQ客户端可能会尝试建立直接的P2P(点对点)连接,此时消息可直接在两个客户端之间传输,你是和好友设备的IP地址进行交流。
,根据上述在使用wireshark以及对qq的运行机制把握上我们可以可以有以下思路
1.首先我们做好准备工作,使电脑与手机连接在同一个wifi网络下,打开好Win Hex和QQ做好准备,同时提前打开了wireshark双击WLAN,Wireshark便开始捕捉好数据。
2.手机端发送照片了之后,要先打开好手机查看好图片,等着加载。经高人指点,比较推荐利用“我的手机”与“我的电脑”之间相互联系比较好抓包,同时我们可以一次性发送多几张照片,提高我们的抓包成功率,而通过自己的账户中相互发送反而不是那么容易抓到(昨晚抓了一个晚上抓了个寂寞)
3.利用显示过滤器ip src ==【手机地址】查找目标手机地址上发出的信息,对于手机地址的搜索我们可以利用直接打开手机在WiFi的高级选项中看地址(doge)-------------------------------------------------------------------------------------或者我们可以它通过过滤器搜索TCP协议的内容(这个我觉得是最方便的)
4.再通过Ctrl F 提出关键词检索,在其中的选项中选择“十六进制值”,
通关关键词检索搜索我们JPG图片在原始数据当中的表头 ff d8 ff
------(成败在此一举,关键在于搜索ff d8 ff能不能搜索到,搜索到那大概可以断定这个数据它是一张照片了,如果搜索不到可以遵循以下我的步骤再做几次)
5.之后我们找到这样字体是黑色的的报文
6.再点击右键选择追踪流---->TCP stream
7.我们可以看见一大串长长的报文,我们按图中所示先选原始数据再将其保存
8.我们将其保存为 jpg的格式(方便我们在后面直接打开照片)
9.然后我们将该保存原始数据的照片拖进Win Hex的这个软件当中去,在上方工具栏的位置找到查找搜索-->查找Hex数值
10.再在搜索栏中搜索“FFD8FF”(注意在这里我们不用空格在每两个词当中隔开),然后我们找到位置了之后将“FFD8FF”前面的数据全部全旗后用Delete删掉,再点击文件-->save
最后我们再把照片用图片查看器打开可以得到
和前面对比确实为其中的一张照片,我们就做完了这样的看上去比较easy一个实验
(实验前看好实验需求和明晰实验步骤理好实验逻辑是个比较重要的事情,要不然只会像无头苍蝇一样不知要做什么也会有莫名其妙的焦虑在考虑着实验报告的思路,这是本人昨晚磨磨蹭蹭五六个小时得出来的血的教训)