第二篇 Fiddler配置_浏览器&手机
么是Fiddler?
网络项目的开发和测试中,Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的 ,可以说是非常常用的手头工具了,本文就Fiddler使用和配置进行说明。
代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端
了解HTTP协议
要分析Fiddler抓取的数据包,先要熟悉HTTP协议。HTTP即超文本传输协议,是一个基于请求与响应模式的、无状态的、应用层的协议,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
HTTP的工作过程:当我们请求一个超链接时,HTTP就开始工作了,客户端先发送一个请求到服务器,请求内容包括:协议版本号、请求地址、请求方式、请求头和请求参数;服务器收到请求后做相应的处理,并将响应数据返回到客户端,响应内容包括:协议版本号、状态码和响应数据。前端根据响应数据做相应的处理,就是最终我们看到的内容。这些过程是HTTP自动完成的,我们只是输入或点击请求地址,然后查看前端给我们展示的内容。更多关于HTTP协议的介绍请参考:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
请求方式常用的有:GET、PUT、POST、DELETE。
HTTP状态码主要分为5类:以1开头的代表请求已被接受,需要继续处理;以2开头的代表请求已成功被服务器接收、理解、并接受;以3开头的代表需要客户端采取进一步的操作才能完成请求;以4开头的代表了客户端看起来可能发生了错误,妨碍了服务器的处理;以5开头的代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
常见的主要有:每个状态码的详细介绍请参考:https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
- 200:服务器成功处理了请求;
- 302:请求的URL已临时转移;
- 304:客户端的缓存资源是最新的,要客户端使用缓存。
- 404:未找到资源;
- 500:内部服务器错误;
- 503:服务器目前无法为请求提供服务
Fiddler的配置及使用
1. 安装
直接在官网下载最新版就行:https://www.telerik.com/fiddler, 根据自己的系统下载版本,正常安装
Fiddler安装后,默认的端口号是8888,这个可以根据自己需要进行修改
Fiddler要能进行抓包,需要确保Capture Traffic是开启的(安装后是默认开启的),勾选File->Capture Traffic,也可以直接点击Fiddler界面左下角的图标开启和关闭抓包。
如果想抓HTTPS的请求,Fiddler需要做如下的设置
Tools --> Options ,然后按下图进行勾选,
将Fiddler正式安装在电脑上,点Action--> Trust Root Certificate--> Yes ,一步步确定
2. 浏览器配置
以Chrome浏览器为例,需要配置代理,fiddler才能抓到包。
浏览器到此为止,基本上不需要做什么配置,安装后就可以进行抓包了。
3. 手机的配置
(1)以安卓手机为例,先设置到代理,电脑需要连接WIFI,手机与电脑连接相同的WIFI,路径:设置 -- >已连接的WIFI -->高级设置-->代理:
代理服务器主机名的获取,cmd -->ipconfig --> IPv4地址对应的IP就是代理服务器主机名
(2)对于手机要抓包,还需要在Fiddler上进行如下配置
路径:Tools --> Options -->勾选:AllowremoteComputersto connect
(3)手机要能够正常抓包,还需要安装证书,在手机浏览器里输入:代理服务器地址:端口号,(如 192.168.123.122:8888)
看到这里,恭喜您呐,PC浏览器,手机都可以正常的使用Fiddler抓包了。