python实现的抓包软件(手把手教python3接口自动化)
python实现的抓包软件(手把手教python3接口自动化)8.1.2 Httpwatch 的安装注意:安装的时候,一定要注意自己的浏览器版本。官网地址:HTTPS://www.httpwatch.com/可以看到Httpwatch有很多不同的版本,每个版本对系统和浏览器都有版本的要求,根据个人需求去下载不同的版本。如果不想自己去官网下载,我已经下载好了,去我的网盘直接下载安装使用就可以。
「第八章」 抓包工具介绍8.1 Httpwatch
8.1.1 Httpwatch的下载
Httpwatch下载可以到Httpwatch的官网去下载
官网地址:HTTPS://www.httpwatch.com/
可以看到Httpwatch有很多不同的版本,每个版本对系统和浏览器都有版本的要求,根据个人需求去下载不同的版本。
如果不想自己去官网下载,我已经下载好了,去我的网盘直接下载安装使用就可以。
注意:安装的时候,一定要注意自己的浏览器版本。
8.1.2 Httpwatch 的安装
下一步
如果浏览器在打开的时候,会提示是否关闭浏览器。
一路默认安装即可
8.1.3 Httpwatch 的在IE端打开
点IE->工具-> httpwatch 标签打开
也可以用快捷键shit F2打开
8.1.4 Httpwatch 在firefox端打开
打开Firefox浏览器的时候,会提示是否需要安装Httpwatch,勾选允许安装,点继续。
安装完之后需要重启firefox浏览器,重启之后,工具栏->附件组件->扩展列表,就可以看到。
或者直接使用快捷键shit F2直接打开。
8.1.5 Httpwatch 的操作原理
8.2 FireBug
FireBug 是FireFox 浏览器下的一套开发类插件,它集HTML查看和编辑、Javascript 控制台、网络状况监视器、cookie 查看于一体,是开发JavaScript、CSS、HTML和Ajax 的得力助手。
我们可以通过他方便的查看页面上的元素,从而根据其属性进行定位。在前web自动化测试工作中,此工具必不可少。
FireBug安装步骤:
1、firefox 浏览器的菜单栏中选择tools(工具)--->add-ons Manage(添加组件)。
2、插件搜索栏搜索FireBug ;对搜索到的插件进行安装。
3、安装完成重启firefox,就可以在菜单栏上有个小虫子 的图标。
4、点小图标,下面有个网络,可以抓取到通过Firefox访问的请求。
9.1 Fiddler的基本功能介绍
9.1.1 Fiddler的基本介绍
Fiddler的官方网站: www.fiddler2.com
Fiddler官方网站提供了帮助文档和视频教程,这是学习Fiddler的最好资料。
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。
你对HTTP越了解,你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
9.1.2 Fiddler的工作原理
Fiddler是以代理web服务器的形式工作的,它使用的代理地址:127.0.0.1,端口8888。
启动Fiddler时,Fiddler会自动设置代理,退出的时,会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动Fiddler。
9.1.3 Fiddler如何捕获Firefox中安装Fiddler插件
能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制就是本机上监听8888端口的HTTP代理。Fiddler启动的时候默认IE的代理设为127.0.0.1:8888,而其他浏览器是需要手动设置的,需要将Firefox的代理改为127.0.0.1:8888就可以监听数据了。
Firefox上通过以下步骤设置代理:
点击:选项->常规->网络代理->设置
选择”手动代理设置”,输入IP:127.0.0.1 端口:8888,点确定。
9.1.4 Firefox中安装Fiddler插件
修改Firefox中的代理比较麻烦,不用fiddler的时候还要去掉代理。推荐在firefox中使用FiddlerFox插件,这样你非常方便的使用Fiddler获取firefox中的Request和response。
当你安装fiddler后,就可以安装好FiddlerFox插件,需要使用代理时就需要到firefox中启动这个插件:
1)安装FiddlerFox插件
打开firefox tools ->附加附件-> 扩展,搜索FiddlerFox插件。
2)添加FiddlerFox插件。
3)安装完成之后,在Firefox浏览器有个小图标,可以通过勾选是否是否启用代理。
9.1.5 Fiddler如何捕获HTTPS会话
默认下,Fiddler不会捕获HTTPS会话,需要你设置下,打开Fiddler Tool—> Fiddler Options—>HTTPS tab
选中checkbox,弹出如下的对话框,点击“YES”:
点击“YES”后,就设置好了
9.1.6 Fiddler的基本界面
看看Fiddler的基本界面
Inspectors tab 下有很多查看Request 或者Response的消息。其中Raw Tab可以查看完整的消息,Header tab只查看消息中的header。如下图:
9.1.7 Fiddler的HTTP统计视图
通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图标中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
9.1.8 QuickExec 命令行的使用
Fiddler的左下角有个命令行工具叫做QuickExec,允许你直接输入命令。
常见的命令有:
help:打开官方的使用页面介绍,所有的命令都会列出来
cls:清屏
Select: 选择会话的命令
?.png:用来选择png后缀的图片
bpu:截获request
9.1.9 Fiddler中设置断点自改Request
Fiddler最强大的功能莫过于设置断点,设置好断点后,你可以修改httpRequest的任何信息包括host cookie或者表单中的数据,设置断点有两种方法。
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
如何消除命令呢?点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中www.baidu.com)
如何消除命令呢?在命令行中输入命令 bpu
看个实例,模拟博客园的登录, 在IE中打开博客园的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录
1. 用IE 打开博客园的登录界面 http://www.cnblogs.com/tinghai8/
2. 打开Fiddler 在命令行中输入bpu http://www.cnblogs.com/tinghai8/
3. 输入错误的用户名和密码 点击登录
4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用 户名密码,然后点击Run to Completion 如下图所示。
5. 结果是正确地登录了博客园
9.1.10 Fiddler中设置断点修改Response
当然Fiddler中也能修改Response
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)
如何消除命令呢?点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpuafter www.baidu.com (这种方法只会中断www.baidu.com)
如何消除命令呢?在命令行中输入命令bpuafter
9.1.11 Fiddler中创建AutoResponder规则
Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。
看个实例:
(1). 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。
(2). 打开Fiddler 找到logo图片的会话。http://static.cnblogs.com/images/logo_2012_lantern_festival.gif, 把这个会话拖到AutoResponer Tab下。
(3). 选择Enable automatic reaponses 和Unmatched requests passthrough。
(4). 在下面的Rule Editor下面选择 Find a file... 选择本地保存的图片. 最后点击Save保存下。
(5). 再用IE博客园首页 你会看到首页的图片用的是本地的。
9.1.12 Fiddler中如何过滤对话
在抓包时,会捕捉到很多的会话,但是我们只关心特定的接口会话,这个时候我们可以使用过滤功。
(1)勾选过滤器选项Filters,进行如下的设置,如图所示:
(2)Actions—>选择Run Filterset now
点击之后可以直接过滤掉当前回话列表里面的回话。没有点击这个的话就是设置之后抓取的包会进行过滤。
9.1.13 Fiddler中提供的小工具
点击Fiddler 工具栏上的TextWizard 这个工具可以Encode和Decode string。
9.1.14 Fiddler中查询会话
用快捷键Ctrl F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示。
9.1.15 Pesponse是乱码的
有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。
1. 点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2. 选中工具栏中的"Decode"。这样会自动解压缩。
9.2 Composer创建和发送HTTP Request
9.2.1 Fiddler Composer介绍
Fiddler的作者把HTTP Request发射器取名叫Composer(中文意思是:乐曲的创造者) 很有诗意。Fiddler Composer的功能就是用来创建HTTP Request 然后发送。你可以自定义一个Request 也可以手写一个Request 你甚至可以在Web会话列表中拖拽一个已有的Request. 来创建一个新的HTTP Request.
9.2.2 Fiddler Composer比其他工具的优势
能创建发送HTTP Request的工具很多。但是Fiddler的功能有如下的优势:
(1) 能从”Web会话列表“中拖拽一个先前捕获到的Request,然后修改一下。
(2) 发送Request后,还能设置断点,继续修改Request。
(3) 支持在Request中上传文件。
(4) 支持发送多次Request。
9.2.3 实例:模拟京东商城的登录
启动Fiddler 启动IE 打开京东,然后输入用户名和密码,登录。Fiddler 将捕获到这个登录的Request。
(1). 首先找出哪个Request 是用来登录的, 然后把它拖拽到Composer中。
用来登录的request是这个: 【https://passport.360buy.com/uc/loginService?uuid=6bc79fbf-e882-49bb-b63a-6fd6ee448944】
(2). 在Composer可以看到,登录是使用POST方法,把用户名和密码发送给服务器。那么我们可以修改Composer中的request内容,比如用户名为:fiddlertest@fiddler.com 密码为test1234。
(3). Request造好了后, 我们按"Execute" 按钮就可以发送Request了(如果按住Shift键的同时,按"Execute". Fiddler会自动给这个Request下断点)。
9.2.4 发送的Request 将出现在左边的Web Session列表中
9.2.5 Parsed和Raw两种编辑模式
Fiddler Composer有两种编辑模式。
Parsed模式(最常用) 把Request分为三个部分, Request line Request Headesr Request Body。很容易创建一个Request.
Raw模式,需要你一行一行手动写一个Request。
9.3 Fiddler实现手机的抓包
1. 首先,确保安装 Fiddler 的电脑和你的手机在同一局域网内,因为Fiddler只是一个代理,需要将手机的代理指向 PC 机,不能互相访问是不行的。
2. 开启Fiddler的远程连接,Fiddler主菜单Tools -> Fiddler Options…-> Connections页签,选中Allowremote computers to connect。如下:
3. 开启好远程连接之后,重启Fiddler,不然就不会更新你刚开启的远程配置。
4. 下面开始设置手机端了,获取PC的IP地址,我的IP地址是:192.168.2.121
5. 打开你的手机设置界面:
6. 现在就可以开始抓包了:打开Fiddler软件:
7. 添加过滤器,抓取这个指定IP的数据。