说起抓包,很多人以为就是用个工具,简简单单地抓一下就可以了。昨天在面试一个安卓逆向,直接告诉我“抓包没有技术含量”。
在这里,我必须发一篇技术文,解析一下抓包神器——Fiddler。
Fiddler仅仅是一个抓包工具?不好意思,Fiddler用得好,真的可以为所欲为。
Fiddler的介绍
①Fiddler是强大的抓包工具,它的原理是以web代{过}{滤}理服务器的形式进行工作的,使用的代{过}{滤}理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。
②代{过}{滤}理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代{过}{滤}理服务器会将数据包进行拦截,代{过}{滤}理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代{过}{滤}理服务器也会将数据拦截,再返回给客户端。
③Fiddler可以抓取支持http代{过}{滤}理的任意程序的数据包,如果要抓取https会话,要先安装证书。
技巧一: 全新安装 Fiddler
默认下,Fiddler 不会捕获 HTTPS 会话,需要你设置下,打开 Fiddler Tool->Fiddler
Options->HTTPS tab
选中 checkbox,弹出如下的对话框,点击"YES"
点击"Yes"后,就设置好了
技巧二:Fiddler 连接手机代理配置:
1) 依次打开 Fiddler->Tools->Fiddler Options 在【Connection】面板里将 Allow remote computers to connect 勾选,设置端口号【默认为 8888,可修改其他端口号】;点击【OK】按钮,关闭 Fiddler 并重新打开 Fiddler。
2) 得到本机 IP 用于手机端配置,windows->运行->cmd->ipconfig;得到本机 IP简便获取本机的 IP 有俩种办法:
①鼠标放置在 fiddler 右上角的 Online,就会显示本机的 IP、Host 等一些信息,如下图
②点击 windows->运行->cmd->ipconfig;得到本机 IP
3) 手机端配置:代理设置更改为【手动】,输入【代理服务器主机名】(对应 PC 端的 IP 地址),输入【代理服务器端口号】(Fiddler 配置的端口号)
4)全部配置完毕,现在用手机打开助手,就能在 Fiddler 中监听到手机发送的请求
技巧三:Fiddler 的基本界面
nspectors tab 下有很多查看 Request 或者 Response 的消息。其中 Raw Tab 可以查看完整的消息,Headers tab 只查看消息中的 header.如下图
技巧四: 启动 Fiddler 后 后 Response 是乱码,怎么办?
有时候我们看到 Response 中的 HTML 是乱码的,这是因为 HTML 被压缩了,我们可以通过两种方法去解压缩。
1、点击 Response Raw 上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2、选中 工具 栏中的"Decode"。这样会自动解压缩,解压后重启就可以了
技巧五:QuickExec命令行的使用
Fiddler 的左下角有个命令行工具叫做 QuickExec,允许你直接输入命令。
常见的命令有:
help: 打开官方的使用页面介绍,所有的命令都会列出来
cls: 清屏
Select: 选择会话的命令
?.png: 用来选择 png 后缀的图片
bpu: 截获 request
技巧六:Fiddler中创建 AutoResponder规则
Fiddler 的 AutoResponder tab 允许你从本地返回文件,而不用将 http request 发送到
服务器上
看个实例.
1、进入助手首页,把 serverconfig.html 连接保存到本地桌面,选中该条请求,右键—>copyàJust Url
2、选中该条请求,点击右侧选择 AutoResponder,点击 Add Rule,把该条请求添加进去,或者把这个会话拖到 AutoResponer tab 下
3、选择 Enable automatic reaponses 和 Unmatched requests passthrough
4、更改本地保存的配置文件,在下面的 Rule Editor 下面选择 Find a file...选择本地保存的图片.最后点击 Save 保存下
5、重新首次进入助手,查看 serverconfig 返回的数据中就是自己修改的
技巧七:Fiddler中如何过滤会话
每次使用 Fiddler,打开一个网站,都能在 Fiddler 中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话。Fiddler 中有过滤的功能,在右边的 Filters tab 中,如下图就是只显示带有 zhushou.sogou.com 的请求
技巧八:Fiddler中提供的编码小工具
点击 Fiddler 工具栏上的TextWizard,这个工具可以 Encode 和 Decode string.
技巧九:Fiddler中查询会话
用快捷键 Ctrl+F 打开 Find Sessions 的对话框,输入关键字查询你要的会话。查询到的会话会用黄色显示
技巧十:Fiddler中保存会话
有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。保存会话的步骤如下:
选择你想保存的会话,然后点击 File->Save->Selected Sessions
CustomRules.js
CustomRules.js 中的主要方法:
Static function OnBeforeRequest(oSession:Session)//在这个方法中修改 Response 的内容,
Static function OnBeforeResponse(oSession:Session)
//在个方法中包含 Fiddler 命令。在 Fiddler 界面中左下方的 QuickExec Box static
function OnExecAction(sParams:String[])
实例:修改sogouid
① 在菜单栏中点击 Rules—》CustomRules,打开 CustomRules.js 脚本
② 添加如下脚本,()里面写上接口名字,url 中填上请求数据
③ 更改你想要改的 sogouid 就可以
把这段脚本放在 oSession.uriContains()方法下,并且点击"Save script",这样该条接口下的 sogouid 就会变成自己更改的 id
if(oSession.uriContains("install.html?")){
oSession.url="mobile.zhushou.sogou.com/m/install.html?uid=d15449c17bbded35c989736
70c1e1e0c&vn=3.11.2&channel=sogouinputgx&sogouid=e9ed8a54201e5481e20f6760804772c3&stoken==IhTefovaz0ppdInTQxRlnQ&cellid=&sc=0&iv=311";
技巧十一: 修改session 在 Fiddler 的显示样式
把这段脚本放在 OnBeforeRequest(oSession:Session)方法下,并且点击"Save script",这样所有的 cnblogs 的会话都会显示绿色。
if (oSession.uriContains("mobiletoolhit.gif?")) {oSession["ui-color"] = "green";}
技巧十二: 如何在Fiddler Script中修改 Request中的body
方法一:
Static function OnBeforeRequest(oSession:Session) {
if(oSession.uriContains("http://www.cnblogs.com/TankXiao/")) {
//获取 Request 中的 body 字符串
Var strBody=oSession.GetRequestBodyAsString();
//用正则表达式或者 replace 方法去修改 string
strBody=strBody.replace("1111","2222");
//弹个对话框检查下修改后的 body
FiddlerObject.alert(strBody);
//将修改后的 body,重新写回 Request 中
oSession.utilSetRequestBody(strBody);}}
方法二:
提供一个简单的方法,可以直接替换 body 中的数据
oSession.utilReplaceInRequest(“ 1111”,“2222”);
post请求模拟
测试时如果客户端的数据出错,可能需要单独对某个 url 进行请求,看返回数据是否正确,通过客户端再去请求有时需要复杂的环境需求,整一次挺费劲,通过单独的请求看数据是否正确可以节省一些时间,当然 get 请求可以直接用浏览器就能看到返回数据了,post 数据由于有 body 数据,需要借助工具才行,fiddler 的 composer 功能就是为此而生的,如下图,在上方填写 url,选择请求方式,在下方的 body 中添加 post 的数据后,点击execute 就是请求了,在通过 inspectors 就能看到本次模拟请求的返回值了。
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660
以上所述就是小编给大家介绍的《常用HTTP抓包工具Fiddler使用的12个小技巧,值得收藏!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 程序员必备:30个MySQL数据库常用小技巧,值得收藏!
- 一文看懂 Python 系列之值得收藏的 10 大 PyCharm 常用使用技巧(多图)
- GraphQL 值得了解一下
- 考研,值得吗?
- 值得一读的文章
- 值得警惕的7大云攻击技术
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Once Upon an Algorithm
Martin Erwig / MIT Press / 2017-9-8 / GBP 22.95
How Hansel and Gretel, Sherlock Holmes, the movie Groundhog Day, Harry Potter, and other familiar stories illustrate the concepts of computing. Picture a computer scientist, staring at a screen and......一起来看看 《Once Upon an Algorithm》 这本书的介绍吧!