01 抓包工具原理

HTTP

由于HTTP请求是没有加密的,也没有做任何验证,所以抓包工具直接将请求转发即可。

HTTPS

由于HTTPS请求,客户端会使用服务端的证书来加密数据,而且会验证服务端是否是真正的目标服务端。

所以抓包工具在抓包HTTPS请求时,会进行伪装。

首先用抓包工具自己的证书向客户端伪装成服务端,然后向服务端发送请求时伪装成客户端。

以此来实现数据的抓取和转发。

Fiddler

官方网站下载安装即可:

https://www.telerik.com/fiddler

基本可以说目前最为全面和强大的抓包工具就是fiddler了,使用也不算麻烦。

Fiddler也在官网上有提供非常详细的文档和教程,如果使用的时候遇到问题,可以直接查阅官网文档。

有做任何验证刚刚也说到了,抓包工具抓取HTTPS的包的时候跟HTTP的直接转发是不同的。所以我们需要配置HTTPS的证书。

打开后选择HTTPS,勾选上这个选项,然后勾选上下方出现的两个选项。最后再将弹出的窗口都选择yes。

02 抓包工具的使用

工具栏

1.#:Session的序号

2.Result:请求的响应状态码

3.Protocol:请求的协议类型

4.Host:域名

5.URL:请求的url

6.Body:响应体的大小

7.Caching:缓存方式

8.Content-Type:响应的数据类型

9.Process:发起请求的进程

10.Comments:注释

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.Headers:报头

2.TextView:查看文本数据

3.Syntax:根据语法格式查看

4.WebForms:Web表单

5.HexView:查看十六进制数据

6.Cookies:查看请求的Cookies

7.Json:查看json格式数据

响应数据窗口

1.Transformer:解压方式

2.Headers:报头

3.TextView:查看文本数据

4.Syntax:根据语法格式查看

5.ImageView:查看图片

6.WebForms:Web表单

7.HexView:查看十六进制数据

8.Cookies:查看响应设置的Cookies

9.Json:查看json格式数据

03 查找过滤**Session**

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。

2.?命令:根据URL来进行搜索。

3.=命令:根据状态码来进行搜索。

4.@命令:仅根据域名进行搜索。

04 断点

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

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

全局断点

在菜单栏中选择Rules

Automatic Breakpoints,即可选择断点方式。有两个选择,分别是在请求往服务器发送的时候暂停,和在响应返回到客户端的时候暂停。

指定断点

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

1.bpu(breakpointurl):在指定网页发起请求后暂停。如:bpu www.baidu.com

2.bpafter(breakpointafter):在指定网页返回响应时暂停。

3.bpm(breakpointmethod):中断指定请求方式的请求。如:bpm get

4.bps(breakpointstatus):中断指定状态码的session。如:bps 200

转载于:https://www.cnblogs.com/winfun/p/10985587.html

python爬虫基础17-抓包工具使用相关推荐

  1. 【0基础学爬虫】爬虫基础之抓包工具的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...

  2. python爬虫学习——HTTP抓包工具Fiddler

    一.Fiddler介绍 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的"进出"Fiddler的数据(指c ...

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

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

  4. Python爬虫——浏览器实现抓包过程详解

    几乎所有浏览器都提供了抓取数据包的功能,因为浏览器为抓包提供了一个专门的操作界面,因此这种抓包方式也被称为"控制台抓包".下面以 Chrome 浏览器为例进行抓包演示. 控制台抓包 ...

  5. python抓包 windows_教你用100行Python代码写一个抓包工具

    现代计算机程序大部分时候离不开网络,作为开发者,在日常开发网络相关的程序或者排查程序错误时经常会用抓包工具来分析网卡收发的数据,比如著名的tcpdump,Wireshark等.今天我们尝试用100行左 ...

  6. 【APP爬虫】mitmproxy抓包工具和夜神模拟器爬虫

    mitmproxy抓包工具和夜神模拟器爬取APP的数据 一.相关软件的安装 工欲善其事,必先利其器,要实现我们的需求,当然是先准备我们所需的工具,本次主要主要用的工具有: 查看更多python相关内容 ...

  7. 【爬虫】网页抓包工具--Charles的使用教程

    抓包工具Charles的使用教程 参考:https://zhubangbang.com/charlesproxy 如果您是您一次使用Charles,可能对下面的感兴趣. Charles破解版免费下载和 ...

  8. app小程序手机端Python爬虫实战14-mitmproxy抓包软件详解

    作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!

  9. 手把手系列:教你安装和设置抓包工具Charles(亲测适用Win10)

    记录一下抓包及代理工具的设置,为爬虫做准备. 首先看一下我们美丽的Charles的logo: 爬虫必备之抓包工具 安装Charles步骤: 1. 如果没有,请安装最新chrome浏览器 2. 基于ch ...

  10. 『Python爬虫』抓包工具 Fiddler 入门教程

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

最新文章

  1. WPF入门(四)-线形区域Path内容填充之填充图(ImageBrush)
  2. Virtualbox虚机无法启动因断电
  3. 操作系统及编程语言历史以及shell命令
  4. 初识消息队列/RabbitMQ详解
  5. 软件培训技术选哪个?
  6. (六)构建MLOps模型API
  7. 字符串流 ostrstream 和 istrstream
  8. SQL注入分类,一看你就明白了。SQL注入点/SQL注入类型/SQL注入有几种/SQL注入点分类
  9. AIX 与Linux 中crontab 介绍
  10. YCbCr空间中进行色彩调整的方法
  11. Kubernetes详解(二十六)——金丝雀发布
  12. 手机微信html代码,html5 css3手机微信ui界面代码
  13. opencore 启动总是在win_OpenCore引导开机倒计时自动进入指定系统盘,修改默认启动项教程...
  14. 实用的汉字拼音转换工具
  15. Python 进阶视频课 - 12. Nelson-Siegel 构建债券收益率曲线
  16. [问题已处理]-centos7 history命令没有任何记录
  17. 编程程序 runtime error
  18. Python入门题031:excel表格筛选重复数据
  19. 哪些方法可以用来提高微信小程序的应用速度?
  20. 用虚拟信用卡注册Google Play开发者账号

热门文章

  1. 如何修改vue打包的名字_教你如何修改Mac的电脑名字
  2. sikuli python java_从命令行运行sikulix 1.1.4 python脚本
  3. java 连接ftp 测试_ftp,ftp怎么进行连接,附上在Java环境下的配置教程
  4. 前端切换视图_前端开发的10个软件工具,用过3个就是大神!
  5. vue导入静态js_vue引入静态js文件的方法
  6. Java中的ConcurrentHashMap
  7. arcore与unity_Android ARCore –与相机的距离
  8. python ide_Python id()
  9. linux压缩命令gzip_Linux gzip命令示例
  10. 高级IO(一)--UNIX环境高级编程读书笔记