一、fidder的配置与使用及原理
1. 简介:一款免费且功能强大的数据包抓取软件。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。

2. 工作原理:
Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。


3.下载地址:
官网下载https://www.telerik.com/download/fiddler(版本为英文版 fidder4)
汉化版下载:http://soft.huweishen.com/soft/302.html(直接是一个安装包,解压就可以用)
4、实现功能:
点击【工具】-【连接】—【WinlET选项】—【局域网设置】-【高级】,再点击代理服务器的【高级】按钮,将HTTP代理服务器地址改为127.0.0.1:8888。



5、使用fidder捕获HTTPS会话和端口连接设置
5.1 默认情况下,fiddler是不会捕获https会话的,所以需要自行设置一下。启动软件,点击【工具】—【fiddler选项】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一选项前面全打上勾,点击【工具】—【fiddler选项】,在弹出的新窗口中,点击Connections选项卡,点击OK就操作成功了

注:fidder配置完后需要重启

6、fidder主界面

Fiddler的主界面分为 工具面板、会话面板、监控面板、状态面板
6.0详解
(1)每个Fiddler抓取到的数据包都会在该列表中展示,点击具体的一条数据包可以在右侧菜单点击Insepector查看详细内容。主要分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

(2)HTTP Request Header:以百度为例,查看请求百度主页这条数据包的请求数据,从上面的Headers中可以看到如下内容:

请求方式:GET

协议: HTTP/1.1

Client 头域:

Accept: text/html, application/xhtml+xml, image/jxr, / ———浏览器端可以接受的媒体类型

Accept-Encoding: gzip, deflate ———压缩方法

Accept-Language: zh-CN ———语言类型

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 ———客户端使用的操作系统和浏览器的名称和版本

COOKIE头域:将cookie值发送给服务器

Transport 头域:

Connection:当网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接是否关闭。keep-alive表示不会关闭,客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接;close表示关闭,客户端再次访问这个服务器上的网页,需要重新建立连接。

HOST:主机名或域名,若没有指定端口,表示使用默认端口80.
(3)HTTP Response Header:继续以百度为例,如图所示:

协议:HTTP/1.1

状态码:200

Cache头域:
Cache-Control: private ———此响应消息不能被共享缓存处理,对于其他用户的请求无效

Date: Sat, 05 Aug 2017 04:37:43 GMT ———生成消息的具体时间和日期

Expires: Sat, 05 Aug 2017 04:37:42 GMT ———浏览器会在指定过期时间内使用本地缓存

Cookie/Login 头域:

Set-Cookie: BDSVRTM=264; path=/ ———把cookie发送到客户端
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=1425_21097_22157; path=/; domain=.baidu.com

Entity头域

Content-Length: 202740 ———正文长度
Content-Type: text/html;charset=utf-8 ———告知客户端服务器本身响应的对象的类型和字符集

Miscellaneous 头域:
Bdpagetype: 2

Bdqid: 0x99791efd00036253

Bduserid: 2577220064
Server: BWS/1.1 ———指明HTTP服务器的软件信息

X-Ua-Compatible: IE=Edge,chrome=1
Security头域:
Strict-Transport-Security: max-age=172800 ———基于安全考虑而需要发送的参数,关于这个参数的解释,请参考:http://www.freebuf.com/articles/web/66827.html

Transport头域:

Connection: Keep-Alive
(4)TextView:显示请求或响应的数据
(5)WebForms:请求部分以表单形式显示所有的请求参数和参数值;响应部分与TextView内容是一样的。
(6)Auth:显示认证信息,如Authorization
(7)Cookies:显示所有cookies
(8)Raw:显示Headers和Body数据
(9)JSON:若请求或响应数据是json格式,以json形式显示请求或响应内容
(10)XML:若请求或响应数据是xml格式,以xml形式显示请求或响应内容

6.1工具面板

说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助

两种模式

缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常
流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。
6.2会话面板

‘#’: 顺序号按照抓包顺序从1递增
Result:HTTP状态码      

Protocol:请求使用的协议,如HTTP/HTTPS/FTP等

HOST:请求地址的主机名或域名

URL:请求资源的位置

Body:请求大小

Caching:请求的缓存过期时间或者缓存控制值

Content-Type:请求响应的类型

Process:发送此请求的进程ID

Comments:备注

Custom:自定义值
符号所代表的意思

6.3统计图表和时间轴
统计报表:
请求总数、请求包大小、响应包大小。
请求起始时间、响应结束时间、握手时间、等待时间、路由时间、TCP/IP、传输时间。
HTTP状态码统计。
返回的各种类型数据的大小统计以及饼图展现。

时间轴:每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴,用图表的形式展现出来,就形成了瀑布图。在Fiddler中,只要在左侧选中一些请求,右侧选择Timeline标签,就可以看到这些请求的瀑布图

  • 绿色的请求表示这是一个“有条件的请求”。HTTP 协议定义了 5个条件请求头部,最常见的两个是“If-Modified-Since”和“If-None-Match”。服务器根据这两个头部来验证本地缓存是否过期,如果过期则正常返回资源的最新版本;否则仅返回304 Not Modified,浏览器继续使用本地缓存。包含条件请求头部的请求用绿色显示,否则用黑色。

  • 有阴影线的请求是缓冲模式下的请求,实心的是流模式下的请求。Fiddler提供了缓冲(Buffering)和流(Streaming)两种抓包模式:缓冲模式下,Fiddler会在响应完成时才将数据返回给应用程序(通常是浏览器),这种模式下可以控制响应,方便地修改响应内容;流模式下,Fiddler会实时返回响应数据给浏览器,但没办法控制响应。一般使用流模式,瀑布图会更真实一些。这两种模式可以通过 Fiddler的工具栏选择。特别的,通过 Fiddler 的“AutoResponder”功能返回的响应,只能是缓冲模式。

  • 请求条的不同颜色对应着不同类型的响应,根据响应头的 MIME Type 来归类。如浅绿色表示图片类型的响应;深绿色是JavaScript;紫色是 CSS;其它都是蓝色。

  • 请求中的黑色竖线,表示的是浏览器收到服务端响应的第一个字节这一时刻。这个时间受 DNS 解析、建立连接、发送请求、等待服务端响应等步骤的影响。

  • 请求条后面的图标表示响应的某些特征。如软盘图标表示这个响应正文从本地获得,也就是说服务端返回了 304;闪电表示这是 Fiddler的“AutoResponder”的响应;向下的箭头表示响应是 302,需要重定向;红色感叹号说明这个请求有错误发生(状态码是 4XX 或 5XX)。特别的,如果请求条后面有一个红色的X,说明服务端响应完这个请求之后,断开了连接。出现这种情况一般有两种可能:HTTP/1.0 的响应中没有 Connection: Keep-Alive;或者是 HTTP/1.1 的响应中包含了 Connection: close。使用持久连接可以省去建立连接的开销,也可以减小 TCP 慢启动和其它拥塞控制机制带来的影响,总之是好处多多。

  • 请求前面的红色圆圈表示这个连接是新建的,绿色表示是复用的。上面的圆圈表示的是浏览器到 Fiddler 的连接,下面的圆圈是 Fiddler 到服务端的连接。

    7状态面板

    控制台Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
    常见得命令有:

命令 解释
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏 (Ctrl+x 也可以清屏)
select 选择会话的命令
?.png 用来选择png后缀的图片
bpu 截获request
8总结fidder
通过Fiddler可以抓取请求和响应参数,通过对参数进行分析,可以定位是前端还是后台问题。例如我们在测试登录接口时,输入了正确的手机号和密码,但前端提示“请输入正确的用户名和密码”;仅仅通过界面提示我们只能描述bug表象,但不能分析出问题原因。假设通过抓包我们发现是由于前端参数名错误或参数值为空,从而导致后台报错。这个时候我们将bug指向前端开发人员,并将参数数据和接口文档中对应的报文数据作为附件上传,是不是可以提高bug的解决效率呢?Fiddler在实际的功能测试中有很大的作用,一方面帮助我们更好的了解某个业务中客户端和服务器端是通过哪些接口进行请求的,从而更好的了解代码逻辑;另一方面,我们还可以通过响应数据判断哪里出现了问题,例如可能服务器程序挂了,导致前端报“服务器故障”,这时我们通过抓包发现响应数据返回502,这时我们可以手动去重启服务或是联系运维重启服务,从而提高问题的解决效率。
9、夜神模拟器的配置
首先在夜神模拟器中下载夜神模拟器
地址:https://www.yeshen.com/下载完成后运行
在设置里找到WLAN

右键按着SSID,会弹框

点击修改网络
勾选高级选项

这里的代理服务器名根据cmd命令行ipconfig查看本机ip填写,代理服务器端口必须是8888,因为fidder的端口就是8888,这里的配置如果出错模拟器上的浏览器就不可以访问,app也会报没有网络

fidder配合夜神模拟器进行抓包相关推荐

  1. Fiddler配合夜神模拟器进行抓包

    一.fidder的配置与使用及原理 1. 简介:一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的htt ...

  2. 夜神模拟器+Fiddler抓包测试App

    前言 最近公司要求前端小姐姐开始用uniapp做App了,后端这边接口安全是用的security(历史原因),讲真我不太喜欢用这个,好多年没有用这个了.今天主要是跟大家分享下用模拟器测试app + F ...

  3. Windows和夜神模拟器上抓包程序mitmproxy的安装以及使用

    ** windows ** 一.介绍说明 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler.Charles的功能,只不过它是一个控制台的形式操作. mitmproxy还 ...

  4. 夜神模拟器BURP抓包设置

    1.下载证书. 模拟器访问http://burp,然后点击右上角下载证书. 2.使用openssl计算哈希. 3.生成证书,用计算的哈希命名. cer格式 openssl x509 -inform D ...

  5. 使用Fiddle对夜神模拟器进行抓包

    一.fiddler配置 1.勾选Ignore server certificate errors Tools->Options->HTTPS菜单下,勾选Decrpt HTTPS traff ...

  6. android---7.0+夜神模拟器+Fiddler抓包app数据

    文章目录 一.配置模拟器代理IP和端口 二.安装https证书 一.配置模拟器代理IP和端口 废话不多说直接上手,模拟式我使用了夜神最新版本7.2.0.9首先配置夜神网络代理.点进去长按WiredSS ...

  7. 使用Fiddler抓取夜神模拟器上的包

    一.设置Fiddler代理 1.点击Tools-Fiddler Options进入Fiddler Options页面 2.点击Connections,将Fiddler listens on port设 ...

  8. Python爬虫+夜神模拟器+Fiddler抓取手机APP数据接口 -- 图文教程(霸霸看了都说好)

    Fiddler的抓包原理 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是 ...

  9. fiddler软件+手机模拟器搭配抓包,这篇博客有Python爬虫与百家号的事

    本篇博客为爬虫120例第60例,核心内容围绕手机抓包展开,本片练习模拟器与 Fiddler 之间的搭配 . 选择模拟器的原因也很简单,由于很多抓包软件对安卓系统有版本要求,我们不能天天给手机更换系统, ...

最新文章

  1. MapReduce提交作业常见问题
  2. 从马云看“穷男人”如何创业——看后信心倍增!
  3. 1bit和1byte_1byte等于( )bit_学小易找答案
  4. ubuntu安装python环境_AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装
  5. Python—redis
  6. 转帖 美国 工程索引 收录中国科技论文的最新规定
  7. 85条高级AutoCAD工程师绘图技巧(2)
  8. 半波耦合器的设计——RSOFT
  9. oracle大杂烩(二)
  10. 对于【没有苹果开发账号,只有p12文件和mobileprovision文件进行打包】文章的补充
  11. 各品牌电脑进入BIOS的按键
  12. Mac创建.prettierrc文件详解
  13. python中time什么意思_python中time包是什么?
  14. linux-关机命令shutdown
  15. halcon与python混编_halcon与C#混编的入门贴
  16. 什么是节流(throttling)和防抖(debouncing)?
  17. GL、GLU、GLUT
  18. NASA发布史上最深的宇宙全彩照!韦伯如何回传150万公里外的太空数据?
  19. E.03.22 Learning Apps Have Boomed in the Pandemic. Now Comes the Real Test.
  20. 中国的LPR改革及其意义

热门文章

  1. 使用calibre导出pdf格式时调整行间距
  2. tcpdump 分析
  3. python爬取海量精美高清漂酿纯真可爱善良小姐姐壁纸(老司机福利)
  4. 申请澳洲八大,IB成绩多高才有胜算?
  5. RAID介绍及RAID10配置实例
  6. 公共艺术与计算机论文题目,优秀公共艺术论文选题 公共艺术论文题目如何定...
  7. 机器学习cae_关于CAE 仿真对HPC需求的迷思-Part 1
  8. protege 和webprotege使用
  9. android Imageview 显示本地绝对路径图片
  10. 正数负数的原码,反码,补码