常见网络抓包方案


title: 常见网络抓包方案
date: 2018-01-03 10:07:24
tags: [抓包,Fiddler,wireshark,tcpdump]


背景

抓包作为一项基本技能,不论开发调试还是破解研究都作用广泛。PC端使用wireshark、omnipeek作为基本的协议分析软件,如果是web协议分析可以使用Fiddler,当然从安全角度出发还有更强大的Burpsuite。
随着智能手机的普及,H5的发展壮大,越来越多的应用软件开始采用HybridApp方式。这当然就包括了大名鼎鼎的淘宝,还有“臭名昭著”的北京交警APP(每次凌晨两点起来办进京证都要暗暗的骂上一句)。现在日益茁壮的微信小程序、刚上幼儿园的微信小游戏也使用了相关的技术。对他们的研究分析自然少不了抓包了。


问题

PC抓包已经是很古老的技艺了,在此就不多赘述了。智能手机抓包有没有什么好的解决方案呢?
(只用过安卓手机,这里就不讨论苹果手机了)


抓原始数据

1、tcpdump抓包 (所有数据包 需要root)

此方案需要root,下载tcpdump程序,复制到手机目录下,修改运行权限并进行抓包。

tcpdump -p -vv -s 0 -w /sdcard/capture.pcap

之后使用adb pull将文件抓取到电脑上使用wireshark进行分析。

2、局域网抓包 (所有数据包 不需要root)

靶机与抓包机部署在同一个局域网内,抓包机网卡设置为混杂模式进行抓包。


抓http/https数据

1、Packet Capture之类 模拟vpn通道 (手机本地抓取)

通过安卓提供的VpnService,模拟中间人攻击,汇集所有手机流量进行抓包记录。并将抓取的网络数据存储到本地。

2、网络代理抓包 (Fiddler、Burpsuite)

这里以Fiddler为例,Burpsuite类似的设置。主要的使用流程分为以下几步:

  • 电脑端安装设置代理软件
  • 手机端连接代理并安装证书
  • 手机端使用待分析软件或访问网络
  • 电脑端分析数据

具体使用步骤如下:

1、 下载最新版 Fiddler 并进行安装。
2、 安装完成后点击 Tools->Option进行设置,

https标签:
    - [x] Capture HTTPS CONNECTS
    - [x] Decrypt HTTPS traffic
connections标签:
    - [x] Allow romote computers to connect

3、 记录当前电脑的IP地址为IP_PC
4、 手机端连接局域网,并设置代理地址为IP_PC,端口:8888
5、 打开浏览器,访问地址http://IP_PC:8888,在打开的页面中下载fiddler的CA证书并进行安装。

也可以将证书下载到手机存储卡,之后使用 设置->系统安全->从存储设备安装 进行证书安装 (小米6 开发版)。

6、 打开应用进行操作,即可在电脑上看到对应的http/https数据包。

总结

第一次手机抓HTTPS包遇到了很多问题,后来都逐个解决了。现在回想起来,这些问题已经忘光了。
嗯 就是这样。

你可能感兴趣的:(常见网络抓包方案)