当用户使用手机访问网络时,手机在不断地接收和发送数据包,这些数据包中包含了大量的用户信息,包括各种账号信息、聊天信息、收发文件、邮件、浏览网页等。虽然很多信息都是加密的,但是还是会有很多信息是明文传输或者经过分析解密的,比如账号信息,文件,邮件,一些聊天信息等等。这些数据包会通过路由器进行分发,我们只需要对路由器进行捕获和分析,就可以提取出用户的各种信息,而不需要在用户手机中安装插件。
二、环境建设
使用桥接模式,在有无线网卡的电脑上搭建路由器,或者使用360免费wifi提供热点,这样就可以抓取连接无线WiFi的手机发送的网络数据包。
第三,如何利用无线路由器抢到手机网络包。
现在市面上有很多抓包工具,Wireshark就是其中比较成熟的一个。除了包捕获,它还附带了一些简单的分析工具。这些包捕获工具的原理是通过winpcap提供的强大编程接口实现的。这里以Wireshark为例说明如何捕获网络数据包。
首先,打开软件配置,以及网络数据包捕获所需的参数,如图1所示。如果你对协议比较熟悉,可以选择一个过滤器把你不关心的包过滤掉,方便分析。比如我们知道微信朋友圈是TCP协议,端口号是443和80。我们可以根据这些信息选择相应的过滤器,然后选择网卡进行捕获,开始捕获网络数据包。
四。网络数据包分析
在捕获网络数据包时,Wireshark分为三个部分来显示捕获结果,如图2所示。第一个窗口显示捕获包的列表,中间的窗口显示当前所选包的简单解析内容,底部的窗口显示当前所选包的十六进制值。
以微信的一个协议包为例,经过包捕获,捕获到用户通过手机发送的一个完整的会话包。根据对话包显示,手机(ip 172.19.90.2,端口号51005)通过TCP-HTTP协议与服务器(id 121.51.130.113,端口号80)传输数据。
前三个包是手机和服务器发送的相互确认身份的包(TCP的三次握手)。没有什么重要的信息,但是我们主要看第四个包,如图4所示。其中包括:
帧:物理层的数据帧配置文件;
以太网II:数据链路层以太网帧的头信息,包括发送方和目的方的MAC地址信息;
互联网协议版本4:互联网层IP包的头信息;
传输控制协议:传输层数据段的头信息,这里是TCP协议;
超文本传输协议:使用层的信息,这里是HTTP协议;
媒体类型:传输的具体数据;
这里主要分析使用层和数据层的内容,如图5所示。可以看到,服务器的域名是szextshort.weixin.qq.com,信息提交地址是/mmtls/04a2f532,数据层的数据长度是834字节,其中十六进制面板中的蓝色区域是要发送的数据,但是数据内容被复杂度加密,所以暂时无法使用。
这样我们也可以对发来的图片、视频等信息进行分析,后续的提取工作可以交给代码来实现。