Fiddler
1.配置
Tools → Telerik Fiddler Options → Connections
2.显示IP
下载插件:fiddlersyntaxsetup
点击 Rules -> Customize Rules
ctrl + f 搜索 “static function Main()”
将以下代码 替换掉原来的 function1
2
3
4
5
6static function Main() {
var today: Date = new Date();
FiddlerObject.StatusText = " CustomRules.js was loaded at: " + today;
// Uncomment to add a "Server" column containing the response "Server" header, if present
FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP");
}
3. https设置
4. 安装https证书
用浏览器打开
本机ip:8888
点击最底下的超链接就是安装证书
提示:如果让输入密码,却不知道密码,就给手机设置一个开屏密码就行,就用那个密码就可以了
个别手机安装不上
找到系统安全→从SD卡安装证书
一般都会保存在Download目录下
Fiddler证书安装(查看HTTPS)
5.过滤功能
Enable rules 开启过滤规则
Unmatched requests passthrough 就是放行不匹配的文件,如果不勾上,所有不匹配的都连不通了
下边的规则:
正则表达式:regex:. // .出现0次或更多次 .+出现一次或更多次
可选本地文件通过:file
6.带端口地址代理
直接在HOST里配置带端口就可以
7.同域名不同ip测试方法
利用fiddler将其中的一个域名代理到固定的ip上,具体做法:
打开fiddler->Rules->Customize Rules
找到方法1
OnBeforeRequest(oSession: Session)
在方法里添加:1
2
3
4
5if (oSession.uriContains('http://m.zhuanzhuan.58.com/detail/'))//如果url中包含http://m.zhuanzhuan.58.com/detail/,则按照下面的规则去设置hosts
{
oSession.bypassGateway = true; // Prevent this request from going through an upstream proxy,这一步是让请求不走本机设置的hosts
oSession["x-overrideHost"] = "10.9.193.86";//把请求的hosts设置为需要的hosts
}
注意坑
host必须在本机上配置不能在fiddler里配置,否则无法替换
Charles
1.配置
如果是MAC:
打开菜单栏,选择“Proxy”,勾选“Starting Recording”和“Mac OS X Proxy”。
其中“Starting Recording”表示开始进行记录网络请求。
“Mac OS X Proxy”表示将系统代理设置通过此“Proxy”。
打开系统偏好设置,查看网络偏好设置。
点击高级,切换到“代理”,可以看到HTTP和HTTPS被设置代理到
127.0.0.1 端口号8888 –这部很重要
HTTPS设置
打开Helper菜单,选择“Install Charles CA SSL certificate…”
将证书添加到系统钥匙串中。
打开菜单栏选择“Proxy”》“SSL Proxy settings”
弹出对话框,第一个Tab标签“SSL Proxying”,在“Locations”下点击“Add”按钮,添加一个××空××的规则。
在弹出来的“Edit Locations”直接点击“OK”。
这个时候就可以抓取HTTPS请求了。
但是Chrome抓包会出现隐私设置错误