爬虫必备抓包工具——Fiddler【认识使用】

news2024/12/27 19:24:10

目录:

  • 1.fiddler (抓包工具)
    • 1.1 引入:HTTP/https代理(正向代理)
    • 1.2 拓展:反向代理:
    • 1.2 初识Fiddler
      • ①什么是抓包?抓包有什么用?
      • ②浅谈fiddler:
      • ③fiddler下载
      • ④fiddler必要配置
    • 1.3 fiddler基操
      • ①工具栏
      • ②Session窗口(会话窗口/请求窗口)
      • 小拓展:
      • ③Inspectors标签页
      • ④Filters选项(过滤器)
      • ⑤Find查找
      • ⑥命令行查找
      • ⑦断点
        • (1)全局断点
        • (2)指定断点

1.fiddler (抓包工具)

1.1 引入:HTTP/https代理(正向代理)

  • 所谓的http代理,其实就是代理客户机的http/https访问,主要代理浏览器访问页面。
    代理服务器是介于浏览器和web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
    在这里插入图片描述

1.2 拓展:反向代理:

  • 简单来说:我们和普通用户一样直接去访问浏览器(百度),但是服务端承受不了庞大的用户同时访问,所以会把这些请求分发给子服务器(分发任务),相当于一个资源调度分配。
    在这里插入图片描述

1.2 初识Fiddler

①什么是抓包?抓包有什么用?

  1. 网络抓包可以用来分析网络通讯的真实内容,网络上所有的机器都可以进行通讯,数据包很杂,通过抓包能获取想了解的真实内容,以便分析和解决问题。

  2. 抓包是拦截查看网络数据包内容,通过对抓获的数据包进行分析,可以得到有用的信息。抓包通过对网络上传输的数据进行抓取,可以对其进行分析,对于软件的Debug很大的帮助。也可以通过抓取用户发送的涉及用户名和密码的数据包来获取用户的密码。

  • 抓包工具更多的用于网络安全,比如查找感染病毒的计算机。有时也用于获取网页的源代码,以及了解攻击者所用方法、追查攻击者的ip地址等。

基本可以说目前最为全面和强大的抓包工具就是fiddler了,使用也不算麻烦。Fiddler也在官网上有提供非常详细的文档和教程,如果使用的时候遇到问题,可以直接查阅官网文档。

②浅谈fiddler:

在这里插入图片描述
由于我们直接访问服务端,会有些数据包丢失,所以使用一些抓包工具,来分析网络通讯的真实内容。比如:fiddler,它的存在就宛如正向代理中的代理服务器,我们在向服务端发送请求的时候,经过一下fiddler,在获取响应的时候再经过一下fiddler,就可以达到获取网络通讯真实内容的目的。

③fiddler下载

Fiddler官方网站下载安装即可(别下成别的了,别的不是收费就是阉割版~):
https://www.telerik.com/fiddler

④fiddler必要配置

  • HTTPS的证书
    抓包工具抓取HTTPS的包的时候跟HTTP的直接转发是不同的。所以我们需要配置;
    同时要设置信任根证书,避免一些不必要的报错。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

1.3 fiddler基操

①工具栏

在这里插入图片描述

  1. 给session添加一个注释
  2. Replay:将目标session再发送一次(重新进行请求)
  3. 删除session
  4. 将断点的session恢复执行
  5. Decode:将传输的数据解码成容易阅读的格式
  6. Find:查找session
  7. Save:将session保存成本地文件
  8. Clear Cache:清除缓存

②Session窗口(会话窗口/请求窗口)

在这里插入图片描述
1.#:Session的序号
2.Result:请求的响应状态码
3.Protocol:请求的协议类型
4.Host:域名
5.URL:请求的url
6.Body:响应体的大小
7.Caching:缓存方式
8.Content-Type:响应的数据类型
9.Process:发起请求的进程
10.Comments:注释

小拓展:

同时,每一个session都有不同的颜色,不同的颜色代表不一样的session类型。
在这里插入图片描述

③Inspectors标签页

(注意:需要选中会话才会显示哦!)
在这里插入图片描述
(1)上半部分:
请求数据窗口

  1. Headers:报头
  2. TextView:查看文本数据
  3. SyntaxView:根据语法格式查看
  4. WebForms:Web表单
  5. HexView:查看十六进制数据
  6. Cookies:查看请求的Cookies
  7. Json:查看json格式数据
  8. Raw:格式(响应头里少的信息可在这里找到哦)

(2)下半部分:
响应数据窗口

  1. Transformer:解压方式
  2. Headers:报头
  3. TextView:查看文本数据
  4. SyntaxView:根据语法格式查看
  5. ImageView:查看图片
  6. WebView:Web表单
  7. HexView:查看十六进制数据
  8. Cookies:查看响应设置的Cookies
  9. Json:查看json格式数据
  10. Raw:格式

④Filters选项(过滤器)

我们在抓包的时候常常会遇到非常杂乱的请求,而我们需要去分析的往往只是其中很小的一部分,那么我们就需要从许多请求中过滤出我们需要的那些请求。
在这里插入图片描述

  1. 是否使用Filters。
  2. Filters的规则是可以保存和加载的,也就是我们可以把规则存下来以后再用。
  3. 根据Host域名来进行筛选。
  4. 根据客户端的进程来进行筛选。
  5. 根据请求的Headers来进行筛选。
  6. 断点:Fiddler的断点功能能够让请求在发送后,或者是在返回时暂停,这时候就能够对请求和响应进行相应的修改。
  7. 根据响应的状态码筛选。
  8. 根据响应的类型和大小来进行筛选。
  9. 根据响应的Headers来进行筛选。

⑤Find查找

使用快捷键ctrl+f或者在工具栏中选择find来打开查找窗口,查找窗口可以从所有session中搜索到我们想要的session。

在这里插入图片描述

  1. 文本输入框。
  2. 可以选择搜索的范围,限定在仅Requests或者response中,也可以选择限定在headers或bodies中。
  3. 是否区分大小写。
  4. 是否用正则表达式来搜索。
  5. 仅仅搜索被选中的session。
  6. 将搜索到的结果高亮,可以选择颜色。

⑥命令行查找

在这里插入图片描述
在Fiddler中同样也是可以使用命令行来进行搜索的,在图中的黑框中输入命令即可。
1. select命令:搜索相应类型的session,也就是content-type。例如:select image/gif
2. ?命令:根据URL来进行搜索。例如:? www.baidu.com
3. =命令:根据状态码来进行搜索
4. @ 根据域名来搜索

⑦断点

设置断点是Fiddler最强大的功能之一,在设置好断点后,Fiddler会捕捉所有经过的消息,我们可以任意修改HTTP请求信息,包括Host、Cookies或表单的数据。可以设置断点修改request,也可以设置断点修改response。

断点方式有两种,一种是通过菜单栏设置全局的断点,一种是通过命令行设置指定的断点。

(1)全局断点

在菜单栏中选择Rules > Automatic Breakpoints,即可选择断点方式。有两个选择,分别是在请求往服务器发送的时候暂停(你会发现你再搜索打断点的浏览器,会搜索不到,需要点击Go才能一步步往下走),和在响应返回到客户端的时候暂停。
在这里插入图片描述

(2)指定断点

指定断点需要输入指定的命令来进行断点:

  • bpu:在指定网页发起请求后暂停。如:bpu www.baidu.com —————取消断点 bpu+空
  • bpafter:在指定网页返回响应时暂停。—————— 取消断点 bpafter+空
  • bpm:中断指定请求方式的请求。如:bpm get——————取消断点 bpm+空
  • bps:中断指定状态码的session。如:bps 200——————取消断点 bps+空

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity_Skybox自定义插件可实现日夜更替Polyverse Skies | Low Poly

又又一个天空盒,不过这个做的还是比较完善的。。。不会出现买家秀和买家秀差别大问题 此Skybox插件特色提供: 可扩展,自定义很多的Skybox Shader预制体几个,虽然都是夜晚样式(缺白天)若干预设值</

对NIO和BIO的进一步理解

疑问 在之前的学习中&#xff0c;只提到BIO是阻塞IO&#xff0c;在建立连接和读写事件时会阻塞线程。NIO是非阻塞IO&#xff0c;基于事件注册&#xff0c;通过Selector进行切换Channel&#xff0c;不会阻塞线程。对于这种解释&#xff0c;还是带有一些疑问的。Selector进行Cha…

#define 实现快捷模板类实例在eigen::Maxtrix中的应用

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 背景 在eigen库中&#xff0c;矩阵类原来的用法是 Matrix<Type, row, col>。 为了方便用户&#xff0c;库中还提供了用户常用的快捷类型&#xff0c;比如Matrix…

Java-String的API

一、length()package 做题; import java.lang.reflect.Array; import java.security.PublicKey; import java.util.Arrays; import java.util.Scanner;import javax.naming.StringRefAddr;public class Main {public static void main(String[] args) {Scanner sc new Scanne…

ZeroTierr的moon云服务器搭建和使用

搭建moon 问题是ZeroTier One本身的服务器都在国外访问速度很慢。可以通过搭建国内Moon服务加速解决连接慢的问题。 1、 进入云服务器在线安装zerotier curl -s https://install.zerotier.com/ | sudo bash查看安装zerotier版本 sudo zerotier-cli status安装完成后生成moon…

从0到1完成一个Vue后台管理项目(二十二、列表拖拽排序SortableJS)

往期 从0到1完成一个Vue后台管理项目&#xff08;一、创建项目&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;二、使用element-ui&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;三、使用SCSS/LESS&#xff0c;安装图标库&#xff09; 从0到1完成一个Vu…

Python WebGL 3D应用开发快速入门

在本文中&#xff0c;我们将学习如何在Python中使用three.js库&#xff0c;而无需编写任何一行 JavaScript。我们将使用PyWeb3D&#xff0c;这是一个额外的层&#xff0c;旨在与Brython的three.js轻松交互。 1、什么是PyWeb3D&#xff1f; 简单地说&#xff0c;PyWeb3D是一个…

现代JavaScript,你应该使用的10件事

javascripttip&#xff08;3 部分系列&#xff09;1现代 JavaScript&#xff0c;你应该使用的 10 件事&#xff0c;从今天开始2了解如何在 JavaScript 中使用循环3如何在 JavaScript 中学习足够多的 RegEx 才能变得危险您可能对 JavaScript 完全陌生&#xff0c;也可能多年来只…

文件学习笔记

删除线格式 ## 文件描述符 1.文件文件内容文件属性。 2.文件操作文件内容的操作文件属性的操作。 3.所谓的“打开”文件&#xff0c;是指将文件的属性或内容加载到内存中—这是由冯诺依曼决定。 4.所以文件不全打开&#xff0c;不打开的文件放在磁盘存储。 5.内存文件&#xff…

在线教育-谷粒学院学习笔记(三)

文章目录1 搭建前端项目环境2 前端页面框架介绍3 讲师管理前端开发4 后台系统登录功能改造到本地5 前端框架开发过程6 讲师列表前端实现7 讲师分页前端实现8 讲师条件查询前端实现9 讲师删除功能前端实现10 讲师添加前端实现11 讲师修改前端实现12 前端路由切换问题解决1 搭建前…

Linux工具学习之【gdb】

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f38a;每篇一句&#xff1a; 图片来源 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 Whatever is worth doing is worth doing well. 任何值得去做的事情&#xff0…

【HTML】一款可交互的响应式登陆注册表单,你确定不来看看嘛(附源码)

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…

2022年五一杯数学建模C题火灾报警系统问题求解全过程论文及程序

2022年五一杯数学建模 C题 火灾报警系统问题 原题再现&#xff1a; 二十世纪90年代以来&#xff0c;我国火灾探测报警产业化发展非常迅猛&#xff0c;从事火灾探测报警产品生产的企业已超过100家&#xff0c;年产值达几十亿元&#xff0c;已经成为我国高新技术产业的一个组成…

Docker之Nginx部署前端项目

目录 创建nginx容器 nginx.conf讲解 ①所有配置必须以“;”结尾 ②nginx发布java项目 nginx发布静态vue项目 nginxtomcat实现反向代理及均衡 nginxhtml静态服务器 创建nginx容器 docker run –name mynginx -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/ngin…

6款强烈推荐的 SD卡/内存卡数据恢复软件

SD卡/内存卡在 21 世纪的作用比以往任何时候都更加重要。众所周知&#xff0c;SD卡/内存卡具有高数据传输率并且是便携式设备&#xff0c;大多数摄影师甚至智能手机用户主要依靠它们来保存所有个人或项目照片和视频。此外&#xff0c;SD 卡还因其与各种设备的兼容性而广受欢迎。…

JUC并发编程学习笔记——AQS个人理解

1. AQS引出 1.1 前置知识&#xff1a; 线程创建的四种方式&#xff1a;Thread、Runnable、callable、线程池 LockSupport的使用&#xff1a;park()和unpark()方法 LockSupport是一个工具类&#xff0c; 提供了基本的线程阻塞和唤醒功能&#xff0c;它是创建锁和其他同步组件的…

使用 NVIDIA NeuralVDB优化大规模稀疏

使用 NVIDIA NeuralVDB优化大规模稀疏 基于 OpenVDB 过去十年的发展&#xff0c;NVIDIA NeuralVDB 的推出对于处理极其庞大和复杂的数据集的开发人员和研究人员来说是一个游戏规则的改变者。 NVIDIA NeuralVDB 的预发布版本为 OpenVDB 带来了 AI 和 GPU 优化&#xff0c;将烟雾…

【OpenCV】:OpenCV人脸识别项目杂记

项目目标&#xff1a; 1.图片人脸识别 2.视频人脸识别 3.ESP32Cam摄像头网页视频人脸识别 项目效果视频&#xff1a; ESP32Cam摄像头人脸识别OpenCV本地视频人脸识别ESP32Cam摄像头人脸检测项目基础代码内容&#xff1a; 一、读取图片 # 导入cv模块 import cv2 as cv# 读取图…

如何设置Excel表格以“只读模式“打开

设置Excel表格以“只读模式”打开&#xff0c;可以防止意外修改表格内容&#xff0c;因为“只读模式”下的Excel无法直接保存&#xff0c;这样就不用担心表格意外修改&#xff0c;关闭时又不小心保存了。 这个模式我们可以通过“另存为”的方法来设置。 打开Excel表格后&…

【学习笔记之Linux】工具之gcc/g++

背景知识&#xff1a; gcc/g是一个编译器&#xff0c;注意区分编译器和编辑器&#xff0c;vim是是编辑器。简单的说&#xff0c;编辑器是我们敲代码的工具&#xff0c;我们在编辑器上写出我们需要实现的功能&#xff1b;编译器负责实现功能&#xff0c;把我们写的高级语言编译成…