如今Python爬虫越来越火,有想学好Python爬虫的小伙伴可以前往gzh【Python编程学习圈】领取系统的学习资料以及教程视频,还分享有大量的技术干货文章可以阅读学习,欢迎大家关注学习。

传统的抓包工具,如:Fiddler、Charles、Wireshark、Tcpdump,大家肯定都不陌生了;

今天我们就来聊一聊这款常用的抓包工具:Fiddler;

fiddler简介

Fiddler是个蛮好用的抓包工具,也是比较好用的web代理调试工具之一;

它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据;

修改hosts、限制网速、http请求性能统计、简单并发、接口测试、辅助自动化测试等等,也可以用来检测网络安全。

Fiddler与其他抓包工具

① Firebug

虽然它可以抓包,但对于分析http请求的详细信息不够强大,模拟http请求的功能也不够。

且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存;

② Wireshark:

通用的抓包工具,能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。

但如果是TCP、UDP协议可以用wireshark;

③ Httpwatch

也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件);

而Fiddler 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

爬虫与Fiddler:

在一些稍复杂的网络请求中,我们直接看网址的变化是看不出规律的,如果要自动爬取,就必须通过程序构造这些请求,并分析这些请求的规律。

进行登录时,很多网页的真实登录处理并不是我们看到的网址,这些网址一般需要通过工具进行分析得出。

分析过程中,抓包软件的配合会变得更加方便。

Fiddler的工作原理

Fiddler是以代理WEB服务器的形式工作的,它默认使用代理地址**:127.0.0.1**, 端口**:8888**。

当Fiddler开启时会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。

不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。

解决的办法是重新启动下Fiddler;

Fiddler界面

Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。

开启后再左下角会有显示,当然也可以直接点击界面底栏左下角的图标来关闭/开启抓包功能。

左边面板

左边web session面板的字段及图标含义;

右边面板

右边是详情和数据统计面板;

1)Statistics

关于HTTP请求的性能(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)以及数据分析。

2)Inspectors

是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容;

提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息。

3)AutoResponder 

可用于拦截某一请求,即按自己添加的指定规则重定向到本地的资源或Fiddler资源,从而代替服务器响应。

4)Composer 

自定义请求发送服务器,Parsed模式下你只需要提供简单的URLS地址即可;

5)Filters 

即过滤规则,通过设置过滤规则来过滤所需的http请求,勾选Use Filters开启过滤器。

内外网过滤:

对host过滤:

输入多个HOST,多个之前用半角逗号或者回车分隔;

支持通配符:*,baidu.com;

这里有两个最常用的过滤条件:Zone和Host;

  • Zone 指定只显示内网(Intranet)或互联网(Internet)的内容;

  • Host 指定显示某个域名下的会话;

6)timeline 

请求响应时间,在左侧会话窗口点击一个或多个请求,Timeline 便会显示指定内容从服务端传输到客户端的时间:

Fiddler设置代理

fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。

谷歌、IE浏览器

谷歌浏览器和IE浏览器启动的时候,就会默认读取系统代理,所以只需要将Fiddler设置为启动后作为系统代理即可。

设置启动即作为系统代理——点击Tools->Options->Connections;

这样设置后,我们在谷歌浏览器和IE浏览器访问HTTP请求,就会在Fiddler工具左侧中显示出请求,但是HTTPS的请求却没有显示出来?

原因Fiddler作为一个代理服务器,是可以代理到HTTPS请求的。

但是HTTPS可以理解为HTTPS=HTTP+SSL/TLS,也就是HTTPS是加密的,是有证书存在的,所以我们需要配置解密HTTPS并安装证书。

配置解密HTTPS并安装证书——点击Tools->Options->HTTPS。

查看证书是否安装成功

浏览器中访问HTTPS的页面,也能在Fiddler中显示;

Fiddler断点功能

通信过程中,在传递信息的中间进行修改后再传递,那么就可以使用Fiddler的断点功能。

(1)使用Fiddler的断点,可以实现的功能:

  • 拦截响应数据,并进行相应修改

  • 修改请求数据中的头信息,实现相应功能,比如模拟用户请求等功能

  • 构建请求数据,随意进行数据提交

断点可以打到两个地方:

  • before response:这个是打在request请求的时候,未到达服务器之前。

  • after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。

断点请求/响应

如图,箭头所指的位置时可以点击的,共三种状态:

  • 空白:不设置断点。

  • 箭头向上:表示断点请求。此时客户端的请求是无法直接到达目标服务器的,需要手动控制。

  • 箭头向下:表示断点响应。此时目标服务器的响应是无法直接到达客户端的,需要手动控制。

还有一种打断点的方式:在命令行中输入命令;

  • bpu www.baidu.com  (断点请求)

  • bpuafter www.baidu.com(断点响应)

这种方法只会中断www.baidu.com;

断点请求并修改

操作步骤:

  • 设置断点请求,访问网页

  • 点击对应的会话

  • 查看请求报文信息

  • 修改请求内容

  • 完成断点,放行,把该请求发送给目标服务器

图中Break On Response表示把请求发给服务器,但是服务器的响应被fiddler拦截,此时可以修改响应内容(和断点响应类似)。

-> 断点响应并修改

  • 和断点请求操作类似,只是在响应区域修改报文信息即可。

  • 在断点响应时,请注意超时时间。

-> Fiddler中拦截请求:

  • F11先开始拦截,然后在发送请求

  • 修改拦截下来的请求,修改数据

  • shift+F11关闭拦截

  • run to complete,把所有拦截下来的请求发送过去

-> Fiddler中拦截响应:

  • alt+F11开始拦截

  • 修改数据

  • shift+F11关闭拦截

  • run to complete,把修改的请求发送过去

断点命令

断点的命令则可以精确设置需要截获那些请求,如下表所示:

注意:

如bpafter断点命令使用方法为:bpafter 后边跟字符串->表示中断所有包含该字符串的请求;bpafter ->表示解除刚刚的中断断点;

命令设置断点

响应断点
bqafter 百度一下,你就知道  对www.baidu.com进行响应断点
bqafter                取消响应断点请求断点
bp  百度一下,你就知道      对www.baidu.com进行请求断点
bp                     取消请求断点

手机端抓包操作

以Android手机上配置Fiddler工具为主,讲解配置手机抓包过程。

配置Android手机

Fiddler配置中Connections中设置允许远程连接和端口号。

手机端设置:手机端与Fiddler工具所在电脑处于同一个网络中。

查看电脑的IP 地址,手机网络代理指定为电脑IP地址;

打开设置 > WLAN > 连接上的 WLAN 设置,点击代理 > 手动,设置主机名为 Fiddler 所在主机的 IP,端口为 Fiddler 监听端口。

安装Fiddler证书;用浏览器打开证书地址,点击页面底部 FiddlerRoot certificate下载证书,打开设置 > 安全>更多安全设置 > 加密和凭据 > 从存储设备安装,选择下载好的 FiddlerRoot.cer 进行安装。

浏览器打开目标地址,已经可以抓取 HTTPS 包了;

注意:测试完毕,记得关闭代理,否则手机无法上网!

最后再多说一句:Fiddler请谨慎使用!

『Python爬虫』抓包工具 Fiddler 入门教程相关推荐

  1. 抓包工具Fiddler简单教程

    文章目录 前言 一.下载 二.使用步骤 1.安装软件并打开 2.使用 字段说明: 点击Inspectors 查看数据内容 AutoResponder允许你拦截指定规则的求情 Composer 自定义请 ...

  2. 网络抓包工具 wireshark 入门教程

    Wireshark(前称Ethereal)是一个网络数据包分析软件.网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据.Wireshark使用WinPCAP作为接口,直接 ...

  3. 【工具】抓包工具 Fiddler 使用教程

    ⭐️ 本文首发自 前端修罗场(点击即可加入),一个专注 Web 技术.答疑解惑.面试辅导.职业发展的社区.现在加入,即可参与打卡挑战,和一群人一起努力.挑战成功即可获取一次免费的模拟面试机会,进而评估 ...

  4. linux 抓包工具_03-Python爬虫工程师-抓包工具

    Python爬虫工程师-抓包工具 Python爬虫工程师-抓包工具思维导图 mitmproxy抓包工具 介绍 mitmproxy就是用于MITM(中间人攻击)的proxy 特点: 1.和正常的代理一样 ...

  5. 【爬虫】网页抓包工具--Fiddler

    [爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...

  6. 抓包工具fiddler使用与理论的理解

    抓包工具fiddler使用与理论的理解 抓包工具是运行在本地,客户端与服务器之间的一层,可以很好的抓取两者交互的信息 关于http协议 :http是一个简单的请求-响应协议,它通常运行在TCP之上 请 ...

  7. 【Fiddler Everywhere】2022最强抓包工具(安装 修改教程)

    人生苦短 我用python 今天来给大家整一个史上最强抓包工具(安装 修改教程)! 源码.资料电子书点击这里 一.Fiddler简介 Fiddler Everywhere 是啥? 从名称上来看, 就大 ...

  8. 网络抓包工具 Fiddler

    网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简介 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的ht ...

  9. 抓包工具 - Fiddler(详细介绍)

    原文:抓包工具 - Fiddler(详细介绍) Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟ht ...

最新文章

  1. 当AI黑科技撞上大数据日:清华大学第四届大数据日成功举办
  2. mysql索引之间的区别
  3. leetcode算法题--剪绳子 II
  4. python3数据库表关联_Django中数据库操作|python3教程|python入门|python教程
  5. js svg语音波动动画_让动效更酷炫!4 个常见且常用的 SVG 交互动画方法
  6. 多个goruntine 性能变慢_提高 JavaScript 性能的 12 个技巧
  7. 【学习笔记】Miller-Rabin(米勒-拉宾)素性测试,附常用表
  8. 产品经验谈:一文讲清楚商业模式梳理怎么做?
  9. LeetCode 2097. 合法重新排列数对(欧拉路径)
  10. flash 异常修复:QQ 的 flash 图标显示异常?QQ 秀、表情加载异常?一招解决
  11. oracle如何收缩表空间,ORACLE收缩表空间
  12. WindowsXP 系统登陆原理及其验证机制概述
  13. b站whats app
  14. 青云QingCloud打造云端ICT服务 实现战略全面升级
  15. java中ojb_该方法包含(obj o)在Java中做什么?
  16. 403 for URL: http://www.terracotta.org/kit/reflector
  17. Java基础【之】循环、流程控制 (if else、whitch case、while、do while、for...i、foreach、多层循环与退出)
  18. 在华为之后,再有中国芯片赶超美国芯片,美国的图谋将再次失败
  19. Kafka SASL/SCRAM动态认证集群部署
  20. 出身普通年轻人的最优奋斗姿态

热门文章

  1. 大家知道如何关闭花呗吗
  2. 抖音小游戏推广爆火,背后有什么特点?想进圈应注意哪些方面?
  3. 【Android 开发教程】Spinner
  4. 【GitHub探索】python调试利器——pysnooper源码分析
  5. 漫游器在椭球上的定位和变换
  6. Android面试指南:说说你对组件化/模块化的理解
  7. 工厂生产设备维修保养管理系统软件
  8. 解决方案:大疆air遥控器连接不上电脑及模拟器
  9. git 仓库太大,下载慢,经常超时 关联远程仓库
  10. 开源博客Solo安装详细教程及注意事项