当用户运用手机访问网络时,手机在不断接受与发送数据包,而这些数据包中包含了大量的用户信息,包括各种账号信息、聊天信息、发送接收文件、邮件、浏览的网页等。虽然很多信息是加密传输的,但还是会有大量信息是明文传输或者经过分析可以解密的,如账号信息、文件、邮件、部分聊天信息等。这些数据包都会通过路由器进行分发,我们只需要对路由器进行抓包和分析,就能提取到用户的各种信息,而不需要在用户手机中安装使用插件
二、环境搭建
在有无线网卡的电脑上利用网桥模式搭建好路由器,也可以利用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。其中:
Frame:物理层的数据帧概况;
Ethernet II:数据链路层以太网帧头部信息,包括发送端和目标端MAC地址信息等;
Internet Protocol Version 4:互联网层IP包头部信息;
Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议;
Hypertext Transfer Protocol:使用层的信息,此处是HTTP协议;
Media Type:传输的具体数据;
这里主要分析使用层和数据层内容,如图5。可以看出,服务端域名为szextshort.weixin.qq.com,信息提交地址为/mmtls/04a2f532,数据层数据长度为834字节,其中十六进制面板中蓝色区域及为发送的数据,但数据内容是通过复杂加密的,暂时无法获得。
通过这种方式,我们也可以分析出发送的图片及视频等信息,后续提取工作就可以交给代码实现。