抓包工具
1、Wireshark:通用的抓包工具,抓取信息量庞大,需要过滤才能得到有用的信息,只有HTTP请求有点大材小用
2、Firebug、HttpWatch等web调试工具:不够给力,功能欠缺
3、Charles:各有千秋,MAC上对Charles支持更好
4、Fiddler:概念
1)Fiddler是位于客户端和服务器的Http代理,它能记录所有客户端和服务器的Http和Https请求响应,进行截获、重发、编辑、转存等操作。
2)允许监视,设置断点,甚至修改输入输出的数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
Fiddler界面概述
主菜单
File:
Capture Traffic:启用或者停止捕获功能,F12;
Edit:
1、Copy:复制Session到剪切板;
2、Remove:移除Session;
3、UNdelete:恢复之前删除的Sessions;
4、Mark:标记所选择的Session;
5、Find Session:查找Session
Rules:
1、Automatic Breakpoints:断点控制;
2、Customize Rules:打开fiddler script文件
3、Require Proxy Authentication:需要代理验证码;
4、User-Agents:支持把User-Agent请求头设置或替换成指定值;
5、Performance:提供影响web性能的简单选项:
1)Simulate Modem speeds:模拟调制解调器速度;
2)Disable Caching:禁止缓存
3)Show Time-to-last-Byte:显示TTLB
Tools:
1、Fiiddler Options:Fiddler选项;
2、WinNET Options:IE浏览器 WinINET选项;
3、Text Encode/Decode:文本编码/解码;
4、Hosts:hosts配置;
View:
AutoScroll Session List:自动滚动Session列表
Help:
快捷菜单栏
Replay:
重新发送选中的请求
Go:
打断点时用
两种监听模式:
选中为Streaming Mode流模式,不选中为Buffering Mode缓冲模式
1、Buffering Mode 缓冲模式:内容全部返回后再发送到客户端;可以响应控制,修改响应数据。但是时序图有时候会出现异常。
2、Streaming Mode 流模式:收到内容立即发送给客户端,更接近真实浏览器的性能。速度快,时序图更准确(比如瀑布图),但是不能控制响应。
如果不需要“AutoResponse 和 Filter”功能的话,一般建议使用Stream模式。
Decode:
默认勾选,如果返回的数据是加密的,就自动解密。
TextWizard:
编码小工具
Keep All Session:
会话列表保留多少会话
Any Process:
让Fiddler只针对某个Process进行Debugging
会话列表
栏目
1、Result:http响应状态
2、Protocol:请求使用的协议
3、Host:请求地址域名
4、URL:请求的服务器路径和文件名,也包括Get参数
5、BODY:请求的大小,以byte为单位
6、Caching:请求的缓存过期时间或缓存控制header等值
7、Content-Type:请求响应的时间
8、Process:发出此请求的Windows进程及进程ID
9、Comments:用户通过脚本或者右键菜单给此session增加的备注
10、Custom:用户可以通过脚本设置的自定义值
图标
1、红色表示错误
2、黄色表示验证请求
3、通讯类型(灰色表示HTTPS链接)
4、响应类型(紫色表示Css,蓝色表示HTML,绿色表示JS脚本,灰色表示图片)
右键菜单
1、Decode Selected Sessions:如果请求使用了GZIP压缩,就解码
2、Replay:
1)Reissue Request:重新请求此地址
请求查看器
1、Headers:请求头信息显示为一个分级视图,包含了Web客户端信息、Cookie、传输状态等。
2、TextView:显示POST请求的body部分为文本。
3、SyntaxView:显示脚本(安装SyntaxView插件)
4、WebForms:
1)以直观的界面显示QueryString的值和Body的值
2)这里的body应该是application/x-www-form-urlen-coded格式
5、HexView:请求内容的16进制显示
6、Auth:显示header中的Proxy-Authorization和Authorization信息
7、Cookies:以直观的界面显示Header中的Cookie的值
8、Raw:将整个请求显示为纯文本
9、Json:通过Json格式显示
10、XML:如果通过请求的body是XML格式,就是分级的XML树来显示它
响应查看器
1、Transformer:响应信息的压缩编码格式
2、Headers:用分级视图显示响应的Header
3、TextView:使用文本显示相应的body
4、SyntaxView:显示脚本(安装SyntaxView插件)
5、ImageView:响应内容如果是图片则显示图片:
1)左侧灰色区域会显示图片的大小、宽高、文件格式等信息
2)在下方还可以选择缩放模式:自动缩放、缩放以适应显示区域大小、无缩放
6、HexView:响应内容的16进制显示
7、Raw:将整个响应显示为纯文本
8、JSON:通过JSON格式显示
9、XML:如果响应的body是XML格式,就是用分级的XML树来显示它
QuickExec命令行
Fiddler主要功能讲解
Fiddler捕获设置
1、fiddler抓网站请求:
1)Tools >>>WinINET Options..
2)Connections:Act as system proxy on startup
2、app抓包配置:
1)Tools>>>Fiddler Options :
(1)HTTPS:Decrypt Https traffic ;from remote clients only
(2)Connections:设置端口8888;Allow remote computers to connect
(3)APP上设置代理:同一WiFi下设置代理
(4)下载证书:http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer
3、捕获HTTPS请求:
1)Tools>>>Fiddler Options >>Https:Decrypt HTTPS traffic;Ignore server certificate errors
2)出现443问题如何解决:检查Fiddler版本;删除证书,重新下载
设置断点修改
1、断点修改Request:
1)全部中断:Rules>>Automatic Breakpoint>>before Requests
取消设置:Rules>>Automatic Breakpoint>>Disabled
2)特定网站中断:
(1)快速命令行设置:bpu www.baidu.com 只会中断该请求
快速命令行取消设置:bpu
3)Inspectors界面:
(1)Break on Response:发出请求,在响应数据回到Fiddler时再次中断
(2)Run to Completino:单条运行修改后的请求
2、断点修改Response:
1)全部中断:Rules>>Automatic Breakpoint>>After Response
取消设置:Rules>>Automatic Breakpoint>>Disabled
2)特定网站中断:
(1)快速命令行设置:bpafter www.baidu.com 只中断该响应
快速命令行取消设置:bpafter
3)Choose Response
3、其他断点相关命令行:
1)bps:特定http状态码时中断,比如200 403
2)bpv/bpm:在特定请求method时中断,比附Get Post
3)g 等于Go
重定向AutoResponse
概念:允许从本地返回文件,代替服务器响应,而不用将文件发布到服务器【可用正式环境验证本地文件】
1、AutoResponse:
1)勾选Enable rules启动
2)Unmatch requests passthrough:未匹配到请求时正常响应
3)Enable Latency:运行请求延迟
2、URL匹配:
1)以EXACT开头表示完全匹配
2)以regex:开头表示用正则表达式来匹配
3)Sting ToMacth
Filters过滤
Use Filters:启用
1、Actions:1)Run Filterset Now;2)Load Filterset;3)Save Filterset
2、Hosts过滤:
1)Zone指定只显示内网(Intranet)或互联网(Internet)的内容;
2)Host指定显示某个域名下的会话;
3)No Host Filter:无Host过滤;
4)Hide the following Hosts:隐藏如下HOST;
5)Show only the following Hosts:只显示如下HOST;
6)Flag the following Hosts:加粗显示如下HOST;
7)输入多个HOST,多个之前用半角逗号或者回车分隔;支持通配符,*.baidu.com
3、Client Process过滤:
客户端进程过滤规则
1)Show only traffic from:你可以指定只捕获哪个windows进程中的请求;
2)Show only Internet Explorer traffic:只显示IE发出的请求;
3)Hide Windows RSS platform traffic:隐藏WindowsRSS平台发出的请求;
4、Request Headers过滤:
请求header过滤规则
1)经常使用:Show only if URL contains;
2)Flag Request with header:标记带有特定header的请求;
3)Delete request header:删除请求header;
4)Set request header:设置请求的header
5、Breakpoints:
断点设置规则
1)Break request on HTTP POST:给所有的POST请求设置断点;
2)Break request on HTTP GET with QueryString:给所有带参数的GET请求设置断点;
3)Break response on Content-Type:给特定的Content-Type设定断点
6、Response Status Code过滤
响应HTTP状态过滤规则
1)Hide success(202,204,206):隐藏响应成功的session(202,204,206)
2)Hide Authentication demands(401):隐藏未经授权被拒绝的session(401)
3)Hide redirects(300,301,302,303,307):隐藏重定向的(300,301,302,303,307)
4)Hide Not Modified(304):隐藏无变更的session(304)
7、Response Type and Size:
响应类型和大小过滤规则
1)Show all Content-Types:显示所有响应类型
2)gnore smaller than ?KB:忽略小于指定大小的session
3)Block script files:阻止脚本文件,显示为404;
4)Block image files:阻止图片文件
5)Time HeatMap:获得计时数据
(1)绿色阴影代表响应时间在50毫秒以内
(2)超过50毫秒但在300毫秒之内的响应条目没有颜色
(3)响应时间在300至500毫秒之间的会涂黄色
(4)超过500毫秒的用红色底纹显示
8、Response Headers:
响应header过滤规则
1)Flag responses that set cookies:标记会设置cookie的响应
2)Flag responses with header:标记带有特定header的响应
3)Delete responses header:删除响应header
4)Set responses header:设置响应的header
9、会话列表:鼠标右键
Fiddler Script
1、使用FiddlerScript前需要安装SyntaxView插件;
2、修改Session的样式;
3、修改http请求和应答
4、修改Url
5、定制菜单:
1)定制rule菜单的子菜单
2)定制tool菜单的子菜单
3)定制右键子菜单
6、模拟慢速网络:
1)Customize Rule修改脚本:上传/下载1KB要delay多久
2)Rules -> Performances -> Simulate Modem Speedds
次要功能
1、替换HTTP Request Host:
1)暂时替代:
(1)替代命令:urlreplace ir.baidu.com www.baidu.com
(2)清除命令:urlreplace,需要同时清除浏览器缓存
2)永久替代:Script脚本实现
2、配置hosts
3、Composer-Request发射器
4、HTTP统计试图
1)选择多个会话,陈列出所有HTTP的通信量;
2)请求总数、请求包大小、响应包大小;
3)请求起始时间、响应结束时间、握手时间、等待时间、路由时间、TCP/IP、传输时间
4)HTTP状态码统计
5)返回的各种类型数据的大小统计以及饼图展现
5、QuickExec命令行使用:
1)cls
2)select:select image
3)?.png
4)bpu、bpafter、bps、bpv、bpm
5)>size <size
6)=status:=状态码
7)@host:匹配域名
6、Timeline瀑布图:
1)选择多个会话,从条形图表中可以分别出那些请求耗时最多;
2)不同颜色代表不同的元素类型的响应:
(1)浅绿色代表图片
(2)深绿色是javascript
(3)红色是Css
(4)其他为蓝色
3)其他符号:
(1)请求前面的红色圆圈表示这个链接是新建的,绿色表示是复用的
(2)黑色竖线,表示的是浏览器收到服务端响应的第一个字节这一时刻;
(3)向下的箭头表示重定向,302错误
(4)红色感叹号表示有错误发生,状态为4**或5**;
(5)红色的X,说明服务端响应完这个请求后,断开了 链接;
(6)闪电表示这是Fiddler的“AutoResponder”的响应;
(7)软盘图标表示这个响应正文从本地获得,304错误;
7、编码小工具、查询会话、编码解码
第三方插件
1、Syntax-Highlighting:代码高亮插件;
2、JavaScript格式化插件:JS格式化
3、WinDiff:会话比较功能
4、Stave插件:1)目录替换;2)项目配置管理;3)自定义颜色;4)上下行网速限制
5、Willow:
1)可以统计数据包;
2)修改Host;
3)请求重定向
4)编码转换
5)低网速模拟:慢速网络模拟可视化
6)断点调试;
7)过滤HTTP请求;
转载自 土豆拧不成麻花儿 https://blog.csdn.net/weixin_39411616/article/details/78625175?utm_source=blogxgwz3
相关阅读
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据
相信大多数朋友都是会使用WPE的,因为这里也有不少好的教程,大家都辛苦了!先说说接触WPE的情况。当时好像是2011年,我本来不知道WPE对
图片来源:Wired前段时间,雅虎承认遭受黑客重大袭击的事件让网络安全问题再一次被顶上舆论话题的焦点。作为成人娱乐贸易组织、网络
Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很
手机抓包的两种方法:wireshark抓包和fiddler抓包
1、电脑做wifi热点,手机连上后电脑上使用wireshark抓包该方法手机无须root,并且适用于各种有wifi功能的手机(IOS、android等)、平板等