上一篇:使用Fiddler进行抓包<一>
上篇记录了如何使用Fiddler进行PC端浏览器的数据抓包,这次尝试抓取手机端http和https的协议数据。
1修改Fiddler的相关配置
- 在菜单栏打开 Tools->options,并在在HTTPS标签页勾选Decrypt HTTPS traffic
- 选择...from remote clients only //可选
- Ignore server certificate errors(unsafe) //需要监听不可信的证书的HTTPS请求的话
- 在Connections标签页勾选Allow remote computers to connect
- 为了可以抓取Android客户端使用httpURLConnection发送的数据包,需要修改Fiddler的自定义规则,打开Ruler –>CustomizeRules,进入Fiddler ScriptEditor页面,Ctrl+F打开搜索框输入function OnBeforeResponse找到OnBeforeResponse方法,修改代码
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
}
- 操作如图:
- 然后在PC端本地浏览器中打开http://localhost:8888,点击 ** FiddlerRoot certificate **下载安全证书并安装。
2配置手机网络
- 1查询电脑局域网网络IP地址
左下方的微软件+R键打开运行窗口,输入cmd,打开命令行窗口,然后在命令行窗口输入ipconfig查询本地IP地址,如图所示,可以知道我的本地IP为192.168.1.105
运行界面.png 查询本地IP.png- 2打开手机WIFI,使手机网络和PC网络保持在同一个局域网内,然后点击修改手机网络,选择代理方式为手动,修改主机名为192.167.1.105;端口号为8888。注意,这里主机名要和你的刚才查询到的主机名以及你给Fiddler设置的端口号一致。
到这里基本就实现了Fiddler对手机http协议数据包的抓取了。
3错误信息提示
我第一次用手机app请求数据,Fiddler出现了creation of the root certificate was not located的错误提示。
解决方案:
进入到Fiddler的安装目录,例如:D:\Program Files (x86)\Fiddler2,在当前目录按下Shift然后点击鼠标右键,选择在此处打开命令窗口,进入命令行
网友评论