数据抓包

一、数据抓包的目的

  1、抓包其实就是利用开发的程序模拟发起正常的请求行为

  2、正常的请求行为:

    (1)      PC端web浏览器的请求行为

    (2)      移动端web浏览器的请求行为

    (3)      移动APP端的请求行为

    (4)      其他终端的请求行为

  3、数据抓包的目的就是通过捕获PC端、移动端或其他终端的请求行为,并对其进行分析,从而实现在程序中进行模拟。。

二、抓包工具的原理

  1.抓包工具本质其实就是一个本地代理软件,本地的所有请求都是通过抓包工具进行转发。常见抓包工具:

    (1)Wireshark:几乎TCP/IP协议栈任何协议都能捕获(太强大也难)

    (2)Fiddler:http/https抓包工具,跨平台性差

    (3)Charles(推荐):http/https抓包工具,跨平台性强,官方文档支持较好

三、Charles抓包工具使用

  1.Charles安装

  2.利用Charles进行PC端http/https抓包

  3.利用Charles进行移动端http/https抓包

  注意:HTTPS的抓包必须的本地设备端(移动端)安装好对应的证书,如果没安装证书在contents会显示为乱码!

四、安装证书

  1.查看proxy下是否已经启动charles,默认是启动的;

  2.在同一台机器上只能启动一个代理的,如果有多个的,将其它的关闭只用开启charles;

  3.如果没有安装证书,打开https网站,在contents显示的全部为乱码;

  4.首先需要安装证书,装到本地机器系统上面(如图1),一直下一步直到证书选择项(如图2)

  

storm sniffer抓包大麦 抓包data_storm sniffer抓包大麦

图1  

storm sniffer抓包大麦 抓包data_抓包工具_02

图2

  5.默认是只启动了http的抓包,我们还需要设置开启HTTPS的抓包,在菜单栏选择Proxy-> SSL Proxying Settings后设置启动HTTPS如图3,设置*号代表所有的HOST ip地址,HTTPS走的是443端口号

  

storm sniffer抓包大麦 抓包data_storm sniffer抓包大麦_03

图3  

五、手机移动端http/https抓包

  1.手机端与电脑端在同一个WIFI下

  2.进入手机网络,长按已连接的WIFI -> 修改网络 -> 高级选项 -> 代理 -> 手动 -> 出现配置项 -> 服务器主机名(表示charles安装电脑的IP地址,而且是它在WIFI中的IP地址) -> 端口(在proxy菜单下的proxy Settings代理设置 HTTP proxy下的Port对应的值)

  3.手机端安装证书,在浏览器输入“chls.pro/ssl”下载证书,设置代理,手机与电脑在一个局域网下,打开WIFI链接,并选择手动代理,其中代理的IP和端口写上图提示的填写完后就可以抓包了。

  4.HTTPS抓包原理图(如图4)

    

storm sniffer抓包大麦 抓包data_抓包工具_04

图4

  

六、WebSocker协议(比如在视频聊天室大漠聊天中使用到)

  1.HTTP与WebSocker协议的区别示意图(如图5)

    

storm sniffer抓包大麦 抓包data_storm sniffer抓包大麦_05