提琴手导论
Fiddler是一个http协议调试代理工具,可以记录和检查您的计算机和互联网之间的所有http通信,设置断点,并查看所有& ldquo进入和退出& rdquo提琴手的数据(指cookie、html、js、css和其他文件)。Fiddler比其他网络调试器更简单,因为它不仅公开了http通信,还提供了用户友好的格式。
Fiddler是一个使用c#语言开发的开源软件。它包含一个简单但功能强大的基于JScript的事件脚本子系统。NET非常灵活,可以支持许多http调试任务,并且可以使用c#语言进行扩展。他还提供了一系列接口来支持插件开发。
提琴手基于代理模式工作。简单地说,当你打开提琴手软件时,他会开始监听这台电脑的8888端口。然后将系统默认代理设置为127.0.0.1:8888。这样,所有在这台机器上使用系统代理的软件,包括浏览器,将首先把数据发送给Fiddler,然后Fiddler将把数据发送给服务器。服务器返回的数据首先被发送到Fiddler,然后由Fiddler发送到指定的程序。在这个过程中,菲德勒充当了一个代理人。因为数据,无论是请求还是响应,都是通过Fiddler转发的,Fiddler有权获取、存储、修改和对数据进行其他操作。
提琴手装置
打开点击免费下载下载。
安装过程简单又环保。选择安装路径,然后单击安装。这里应该特别注意。您应该记住您的安装路径,因为默认情况下,Fiddler不会创建桌面快捷方式。您需要安装目录打开程序或手动创建快捷方式。
提琴手装置
界面介绍
提琴手接口
使用和设置
提琴手的功能很复杂,所以用图片和文字的形式来解释每一个项目并不容易。让我来谈谈日常生活中使用的一些按键、功能和设置。
安装完成后,我们通常先做几个重要的设置,首先点击工具->;选项->。连接
游手好闲的人
在这里,我们可以修改Fiddler的监听端口,并检查由红色圆圈标记的端口,以允许远程计算机连接。这样我们就可以在未来获取手机等移动设备的数据包。检查后,将代理设置为& ldquo在手机的Wifi设置中。内部网IP:8888(如192.168.1.2:8888)可以抓取手机的HTTP数据包。
然后将标签切换到HTTPS,设置Fiddler抓取https数据包。
提琴手设置
检查以上项目,证书安装期间会弹出,并一路确认。之后,你的提琴手可以从这台机器上抓取https包。
提琴手工具栏
在工具栏中,我们主要介绍由红色圆圈选择的几个功能。x用于清空当前数据记录。
选择响应后,Decode将自动尝试解压缩响应的内容,包括但不限于以下格式(gzip、deflate、bzip2、brotli)。
"保留1000个会话它指示显示多少数据记录。默认值为全部。建议将其设置为500或1000。如果默认值为all,随着时间的推移,您的计算机将耗尽内存。
任何进程此按钮可被拖动以选择指定应用程序的包。例如,拖动到火狐只会显示火狐的包。默认情况下会显示所有应用程序。
“保存”按钮可以将当前数据记录保存到硬盘,以便在方便的时候重新打开分析。
清除缓存是为了清除浏览器缓存,基本上不使用。
文本向导是一个非常强大的编码和解码工具,支持多种格式。它经常被使用
文本向导
在线按钮上的鼠标将显示您当前的网卡信息和内部网IP。为手机设置代理时,检查很方便。
当在左侧选择数据记录时,请求的具体信息将显示在右侧。
请求数据
标题将显示请求标题的一些信息,如获取或发布、浏览器普遍获得、cookie等。
Textview的功能与SyntaxView基本相同,后者用于显示帖子数据的原始明文格式(UTF-8),如果是二进制数据,则显示乱码
网络表单将更清楚地显示您的帖子内容(仅限于&以连接格式发布内容,如果是json格式,这里不显示)
HexView,以十六进制显示您的整个请求包
授权,显示授权信息
Cookie,用于显示请求携带的cookie信息。
Raw,以明文(utf-8)显示整个请求标题信息,包括帖子内容
Json,它以json格式显示帖子内容
Xml,以xml格式显示帖子内容
以下是服务器响应的响应信息的屏幕截图
标题显示响应标题信息
文本视图和语法视图在功能上相似,用于显示服务器返回的特定内容。当返回的内容非常大时,“文本视图”将在显示前停留很长时间。语法视图的响应速度比文本视图快得多。
ImageView,如果服务器返回图片流,图片将显示在该选项卡上。
HexView,以十六进制显示返回的内容
如果返回了html代码,这个标签将解析html并显示网页。
授权,显示返回的授权信息
缓存、显示缓冲
Cookie,显示服务器返回的cookie
Raw,以明文(utf-8)显示完整的响应数据包
Json,它以json格式显示返回的内容
Xml,以XML格式显示返回的内容
作曲工具介绍
在Fiddler中,Composer工具的使用率非常高,通常用于模拟某些数据的提交。
上面,我们使用了Composer工具来模拟和提交百度翻译的数据包。我们提交了一个请求,询问中国服务器是什么意思。
服务器向我们返回了上述含义。返回格式是json格式。
提琴手命令行
在命令行中,我们基本上只需要掌握bpu命令,这是一个数据劫持命令。
我们在命令行进入BPU·然后进入汽车。提琴手将监控和劫持所有发送和返回的数据,并支持中间的编辑和修改。
我们修改了提交给日本的中国关键词,发现服务器返回了我们日本的翻译。
通过这个命令,我们可以修改请求和响应。它经常被用来劫持数据。例如,在你玩的游戏中,你有100枚金币。通过劫持数据,您可以将金币数量修改为10,000或更多。
实战中抓包
我们将通过一个例子来加强上述研究。让我们用Fiddler抓取百度翻译成中国的数据包,然后用我们熟悉的编程语言编写一个翻译软件。
首先,我们打开百度翻译,进入中国,观察在Fiddler中获得的数据。
我们通过一个接一个地查看或者搜索“中国”这个词,找到了一个异步请求包。这个包用于词义联想。虽然不是最终的翻译包,但相对简单,可以实现翻译功能。我们将模拟这个包来实现翻译功能。
我们按住这个记录并将其拖到Composer工具中,简单地调试并删除无用的标题信息,看看浏览器是否能正常返回。我们简化的请求是下图的一个例子
让我们使用python编程来模拟这个请求
导入http
导入json
从urllib导入分析
关键字=输入(& # 39;请输入要翻译的单词:& # 39;)
#构建请求标题信息
标题={ & # 39;用户-代理& # 39;:& # 39;Mozilla/5.0(视窗NT 10.0苹果网站套件/537.36
铬合金/55 . 0 . 2883 . 87 UBrowser/6 . 2 . 3964 . 2 Safari/537.36 & # 39;
,& # 39;内容-类型& # 39;:& # 39;application/x- encoded;UTF-8 & # 39;}
conn=http . client . HttpConnection。fanyi.baidu.com)#创建HTTP连接
body={ & # 39千瓦& # 39;:keyword} #构建帖子信息
body=parse . URL encode(body)# URL发布内容
conn .请求开机自检,& quot/sug。,body=body,headers=headers) #启动请求
Getresponse () #获取响应
如果(响应状态==200): #如果服务器响应代码被确定为200,则返回正常
result=response.read()。解码(& # 39;utf-8 & # 39;);#获取响应数据
结果=json.loads(结果)#解析json
打印(& # 39;翻译是:& # 39;,结果[& # 39;数据& # 39;][0][& # 39;v & # 39]) #输出翻译内容
否则:
打印(& # 39;错误& # 39;)#如果服务器响应代码不是200、500或404或其他错误代码,它们都显示为错误
本文地址:http://seo.youqingshuyuan.com/18117.html
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系我们。