app抓包工具-fiddler的基本使用

链接:https://pan.baidu.com/s/1gruMSVQ1qcx1WCmYINs2UA 
提取码:yn0g 
下载fiddler
APP抓包原理:
	⒈客户端向服务器发起HTTPS请求
	
	⒉抓包工具拦截客户端的请求,伪装成客户端向服务器进行请求
	
	⒊服务器向客户端(实际上是抓包工具)返回服务器的CA证书
	
	⒋抓包工具拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书。
	  将服务器证书替换后发送给客户端(这一步,抓包工具拿到了服务器证书的公钥)
	  
	⒌客户端接收到服务器(实际上是抓包工具)的证书后,生成一个对称秘钥。
	  用抓包工具的公钥加密,发送给"服务器"(抓包工具)
	  
	⒍抓包工具拦截客户端的响应,用自己的私钥解密对称秘钥。
	  然后用服务器证书公钥加密,发送给服务器(这一步,抓包工具拿到了对称秘钥)
	  
	⒎服务器用自己的私钥解密对称秘钥,向客户端(抓包工具)发送响应
	
	⒏抓包工具拦截服务器的响应,替换成自己的证书后发送给客户端
	
	爬虫的本质就是"骗"过服务器,各种反反爬手段就是增强信任的过程。
	
常用抓包工具:
	⒈	fiddler
	⒉	mitmproxy
	⒊	charles
http://www.imooc.com/article/287323?block_id=tuijian_wz
"""
如果要爬取app的数据
首先要安装手机模拟器
如:
	雷电模拟器

⒈	50%的app,通过抓包软件就可以分析出抓取参数并抓取到信息。
⒉	30%的app,可能需要适当的反编译,分析出加密算法并抓取到信息。
⒊	10%的app,可能加固,需要脱壳,然后反编译,分析出加密算法并抓取到信息
⒋	10%的app,通过各式各样的签名,证书,设备绑定等方法,隐藏加密算法。
""".记录本机的IP
	打开cmd窗口,输入ipconfig获取你的IPV4地址

㈡.设置模拟器
	打开模拟器,进入"桌面"菜单栏,选择"系统应用"。
	点击"设置",选择"WLAN"
	长按鼠标左键,选择"修改网络"
	"代理"选择"手动",输入自己的IP和Fiddler的端口号8888
	进行保存
㈢.使用模拟器默认浏览器打开http://IP:端口号
	点"FiddlerRoot certificate"安装证书
	安装完毕之后,打开模拟器上的浏览器,输入www.baidu.com
	在Fiddler中抓取到数据,代表环境配置已经完毕
	
"提示":
	在抓包过程中,fiddler不能关闭,否则手机网络不可用

㈣.设置过滤
	⒈手机上设置代理后,这时候fiddler上抓到的是PC和App所有的请求。
	  如果PC上打开网址,会出现很多数据,这时候就需要开启过滤功能。
	⒉打开fiddler > Tools > Fiddler Options > HTTPS > ...from remote clients only
	  勾选这个选项就行
		"""
		...from all processes:抓所有的请求
		...from browsers only:只抓浏览器的请求
		...from non-browsers only:只抓非浏览器的请求
		...from remote clients only:只抓远程客户端请求
		""".Fiddler抓包简介
	Fiddler想要抓到数据包,要确保"File"下的"Capture Traffic"是开启的。
	开启后在左下角会有Capture显示,当然也可以直接点击左下角的图标来开启/关闭抓包功能。

app抓包工具-fiddler的基本使用_第1张图片

Fiddler开始工作了,抓到的数据包就会显示在列表里面,下面总结了这些都是什么:
	⒈左边

app抓包工具-fiddler的基本使用_第2张图片

名称			含义

\#				抓取HTTP Request的顺序,从1开始,依次递增
Result			HTTP状态码
Protocol		请求使用的协议,如HTTP/HTTPS/FTP等
Host			请求地址的主机名
URL				请求资源的位置
Body			该请求的大小
Caching			请求的缓存过期时间或者缓存控制值
Content-Type	请求响应的类型
Process			发送此请求的过程:进程ID
Comments		允许用户为此次会话添加备注
Custom			允许用户设置自定义值

以下是图标含义:

app抓包工具-fiddler的基本使用_第3张图片
app抓包工具-fiddler的基本使用_第4张图片
app抓包工具-fiddler的基本使用_第5张图片

	⒉右边:
		随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析(不可能安装好Fiddler后,一条请求都没有)
		

app抓包工具-fiddler的基本使用_第6张图片

	⒊Inspectors查看数据内容
		Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容。
		

app抓包工具-fiddler的基本使用_第7张图片

	⒋AutoResponder允许拦截指定规则的请求
	·	AutoResponder允许你拦截指定规则的请求,并返回本地资源或Fiddler资源,从而代替服务器响应。
		看下图5步
		我将“baidu”这个关键字与我电脑“f:\Users\YukiO\Pictures\boy.jpeg”这张图片绑定了,
		点击Save保存后勾选Enable rules,再访问baidu,就会被劫持。
		这个玩意有很多匹配规则,如:
		⑴.字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配

app抓包工具-fiddler的基本使用_第8张图片

.正则表达式匹配:以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的
		

app抓包工具-fiddler的基本使用_第9张图片
app抓包工具-fiddler的基本使用_第10张图片
app抓包工具-fiddler的基本使用_第11张图片

.Composer自定义请求发送服务器
		Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。
		Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestsBody定制一些属性,如模拟浏览器User-Agent)
		

app抓包工具-fiddler的基本使用_第12张图片

.Filters请求过滤规则
		Fiters是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候
		你刷新一下浏览器,一大片不知道哪来的请求,看着碍眼,它还一直刷新你的屏幕。
		这个时候通常用过滤规则来过滤掉那些不想看到的请求。
		

app抓包工具-fiddler的基本使用_第13张图片

		勾选左上角的User Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host
		⒈Zone指定只显示内网(Internet)或互联网(Internet)的内容

app抓包工具-fiddler的基本使用_第14张图片

		2、Host 指定显示某个域名下的会话:

app抓包工具-fiddler的基本使用_第15张图片

		如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可
.Timeline请求响应时间
		在左侧会话窗口点击一个或多个(同时按下Ctrl键),
		Timeline便会显示指定内容从服务端传到客户端的时间

app抓包工具-fiddler的基本使用_第16张图片
·

Fiddler设置解密HTTPS的网络数据
	Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。
	大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,
	而在真正的HTTPS服务器面前Fiddler又伪装成浏览器,
	从而实现解密HTTPS数据包的目的
	
	而解密HTTPS需要手动开启,依次点击:
	⒈Tools	-> Fiddler Options -> HTTPS
	

app抓包工具-fiddler的基本使用_第17张图片

	⒉勾选Decrypt HTTPS Traffic

app抓包工具-fiddler的基本使用_第18张图片

	⒊点击OK

app抓包工具-fiddler的基本使用_第19张图片
·

Fiddler抓取Iphone/Android数据包
	想要Fiddler抓取移动端设备的数据包,其实很简单
	先来说说移动设备怎么去访问网络,看了下面这张图,就明白了
	

app抓包工具-fiddler的基本使用_第20张图片

	可以看得出,移动端的数据包,都是要走"wifi"出去,所以我们可以把自己的电脑开启热点。
	将手机连上电脑,Fiddler开启代理后,让这些数据通过Fiddler,Fiddler就可以抓到这些包,然后发给路由器(如图):

app抓包工具-fiddler的基本使用_第21张图片

	⒈打开wifi热点,让手机连上(这里用的360wifi,其实随意一个都行)

app抓包工具-fiddler的基本使用_第22张图片

	⒉打开Fiddler,点击菜单栏中的[Tools] -> [Fiddler Options]

app抓包工具-fiddler的基本使用_第23张图片

	⒊点击[Connections],设置代理端口为8888,
	  勾选Allow remote computers to connect,点击OK

app抓包工具-fiddler的基本使用_第24张图片

	⒋这时在Fiddler可以看到自己本机无线网卡的IP了
	(要是没有的话,重启Fiddler,或者可以在cmd中ipconfig命令找到自己的IPV4IP)

app抓包工具-fiddler的基本使用_第25张图片
app抓包工具-fiddler的基本使用_第26张图片

	⒌在手机端链接PC的wifi,并且设置代理IP与端口
	(代理IP就是上图的IP,端口就是Fiddler的代理端口8888)
	

app抓包工具-fiddler的基本使用_第27张图片

	⒍访问网页输入代理IP和端口,下载Fiddler的证书,点击下图"FiddlerRoot certificate"

app抓包工具-fiddler的基本使用_第28张图片

"""
	注意:
		如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(Fiddler设置解密HTTPS的网络数据)
		
		No root ceryificate was found . Have you enabled HTTPS traffic decryption in Fiddler yet?
"""		

app抓包工具-fiddler的基本使用_第29张图片
app抓包工具-fiddler的基本使用_第30张图片
app抓包工具-fiddler的基本使用_第31张图片
app抓包工具-fiddler的基本使用_第32张图片

	⒎安装完了证书,可以用手机访问应用,就可以看到截取到的数据包了。
	(下图选中是布卡漫画的数据包,下面还有QQ邮箱的)

app抓包工具-fiddler的基本使用_第33张图片
·

"Fiddler内置命令与断点"
	Fiddler还有一个藏的很深的命令框,就是眼前,还蛮好用的,整理下记录在这里
	Fiddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情。
	比如说:
		把包改了,再发送给服务器
	

app抓包工具-fiddler的基本使用_第34张图片
app抓包工具-fiddler的基本使用_第35张图片
app抓包工具-fiddler的基本使用_第36张图片
在这里插入图片描述

	更多示例演示,请点击
	https://www.cnblogs.com/yyhh/p/5140852.html

你可能感兴趣的:(爬虫)