为什么一启动就在抓包?
windows版本,启动后就自动变成操作系统的代理,能抓取IE,Chrome(读取的是IE的设置),但是不能抓取firefox(要手动设置)
怎么避免干扰?
如果想避免干扰,想抓取制定的浏览器的包,就手工设置fiddler的端口成7777(随便举个例子),然后把浏览器的代理的端口改成7777
怎么抓HTTPS包?
https抓包,需要导入证书,导入证书步骤:浏览器 高级选项>证书>查看证书>证书机构
怎么抓APP的包?
APP抓包,手机和PC要在同一个局域网,运行APP的手机连接的WIFI 代理设置成,PC的Fiddler的IP和端口,Fiddler还要勾选 allow remote connect
decode是什么
(对应反义词是encoded,很多应答报文都是encoded,需要decode)
Composer是什么(自己构建请求报文发送)
勾选LogRequests就会记录历史报文。注意:可以直接用鼠标选中某个请求,拖拽到Composer。
composer里面测试数据思路:参数合法、不合法、空、参数取值null、参数超长
为什么要注意请求报文的Body列?
APP专项测试--流量测试时,请求报文里面的Body列会显示body的大小是100K还是1000K,用户APP流量测试。例如APP账号上传1个5M的图片作为头像,看会不会压缩到100K(如果不压缩,流量消耗大)
Fiddler怎么模拟弱网测试
参考文档:https://www.cnblogs.com/jinjiangongzuoshi/p/5272787.html
Rules>Customize Rules(Ctrl+R)>就会打开CustomizeRules.js
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150"
}
其中request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒,response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒,如果本身网速已经相当快的话,这里设置的值就可以近似地推算出开启模拟后的上传和下载带宽了,比如默认设置下下载延时为150ms,上传延时为300ms,对应可以推算出大致的模拟带宽为:(注意:2.0是修正系统)
上传带宽=((1*8/1000)/0.300)*2.0≈0.106Mbps
下载带宽=((1*8/1000)/0.150)*2.0≈0.053Mbps
抓包看头部Content-Type参数的四种取值
1)application/json 这种就是传json参数{“name1”:”value1”, “name2”,”value2”}
2)application/x-www-form-urlencode 这种就是传data参数 name1=value1&name2=value2
3)multipart/form-data 这一种是表单格式的 (文件上传,图片上传等混合式)
4)text/xml 这种是XML报文
<!--?xml version="1.0"?--> <methodcall> <methodname>examples.getStateName</methodname>
Fiddler查看Cookie
登录前的Cookies查看:找到登录前的请求,鼠标选中,看右边区域的Cookies tab
登录后Cookie查看:找到登录后的请求消息,切换到右边区域的Cookies tab
以下是一个完整的cookie组成结构
cookie ={u'domain': u'.cnblogs.com', u'name': u'.CNBlogsCookie', u'value': u'xxxx', u'expiry': 1491887887, u'path': u'/', u'httpOnly': True, u'secure': False}
注意:cookie是存在客户端的,可以查看到。但是Fiddler只能看到cookies的Name和Vlues两个值
维持一个会话,是靠session,Session是存在服务器的内存中的。客户端有一个sessionid传给服务器端去验证。
现在很多系统常用的是Token校验,Token有时候会在头部,有时候会在请求报文里(Post请求的body),有时候在URL里(GET请求参数里)
Fiddler怎么查看302重定向的地址
302状态码的消息,选中后,右侧区域response headers里Location参数就是重定向后的地址