fiddler 怎么抓取scoket

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fiddler 怎么抓取scoket相关的知识,希望对你有一定的参考价值。

1、清除电脑上的根证书,WIN+R快捷键,输入:certmgr.msc, 然后回车,查找所有fiddler证书,然后删除。

2、清除浏览器上的证书文件 ,此处需要仔细查找带有FiddlerRoot的字样,并删除。

3、打开fiddler,点击工具栏中的Tools—>Options,点击Actions,选择最后一项,Reset All certificates,然后关闭。

4、打开Fiddler,点击工具栏中的Tools—>Options。

5、点击https设置选项,勾选选择项,如下图所示。

6、点击Actions,点击第二项:Export Root Certificate to Desktop,这时候桌面上会出现证书FiddlerRoot.cer文件,点击OK设置成功,关闭fiddler。

7、重新打开fiddler,就可以用fiddler 抓取scoket了。

参考技术A

fiddler抓取scoket的具体步骤如下:

1、首先打开fiddler,进入到编辑页面中。

2、然后点开菜单栏Rule/Custom Rules,在class Handler类里添加如下静态方法:

static function OnWebSocketMessage(oMsg: WebSocketMessage)  

// Log Message to the LOG tab    

FiddlerApplication.Log.LogString(oMsg.ToString()); 

3、保存后,即可抓取到WebSocket数据包,点开数据包,在右侧窗口会多一个WebSocket标签页,抓取效果如下:

参考技术B 首先,HTTP是建立在TCP协议基础上的,而WebSocket通常也是建立在TCP上,所以说为什么有些网页游戏抓不到包而有些又可以,这仅是因为你使用的抓包工具是针对了HTTP的通信协议。
我先从抽象的层面,举一个可能不太恰当的例子,只为了让不明白HTTP和WebSocket两者之间抓包有何区别的同学大概了解这两个协议的异同。客户端/服务端用C/S简称,我把数据抽象成水流,而HTTP是用水枪传递水流的(无状态),至于WEBSOCKET则是使用水管传递水流(实时)。
HTTP通讯方式:

客户端C把数据封装好了要交给服务端S,所以把水放到水枪里面,射过去给S
S用桶把水挡下来了,然后分析水的成分(数据内容),完成后再把新的水(返回的数据)射回去给C
这个过程中,任何人都可以随时在C和S之间用海绵吸一点水然后拿去分析(嗅探数据),或者是直接用桶把水都挡下来分析完后再装到水枪中,模仿C的动作射给S(也就是代理抓包)

WEBSOCKET方式:

客户端C和服务端S,双方之间先用一条水管连起来(用的是HTTP握手),然后水流都通过这个小水管来传输
水管里面一直有水在流动,所以要通讯只需要C或者是S把数据水流放到水管中,则会立刻传输到对方那边
这个过程中,要嗅探就比较麻烦了,需要先在水管中先打个洞,然后再把分析器放进去、或者是斩断这个水管在中间接个水表之类的设备去分析水质成分

好了,乱说一通完毕,说一下抓取WebSocket的两个工具,都是常见的程序,只是可能很多同学不清楚有这样的功能而已。
第一个:Chrome,也就是谷歌的浏览器
进入你要抓包的网页,然后按F12打开我们最爱的开发者工具
然后点Network,再从过滤器中找到WebSockets(上方或下方的状态栏)
选中过滤出来的WebSocket,在弹出来的右边栏中可以找到Frames,里面就是抓到的包
如果要看新通讯产生的数据包,则要先点其他的位置比如Headers再点Frames才可以刷新
第二个:Fiddler,抓包调试的利器,已经人手一个了吧
打开Fiddler,点开菜单栏的Rules,选择Customize Rules...
这时会打开CustomRules.js文件,在class Handlers中加入以下代码

static function OnWebSocketMessage(oMsg: WebSocketMessage)
// Log Message to the LOG tab
FiddlerApplication.Log.LogString(oMsg.ToString());


保存后就可以在Fiddler右边栏的Log标签里,看到WebSocket的数据包本回答被提问者采纳
参考技术C 针对socket通信,你需要知道连接的三次握手和断开的4次挥手,针对socket通信使用nodejs模拟一个客户端,但前提是你要知道通宵的接口,首先使用socket和服务器握手,接下来你就可以拿到服务器传来的数据包

fiddler 抓取手机app请求包

 

 

    今天心血来潮,也不知道怎么了,想着抓抓我们公司手机app的包看看,研究研究我们公司的接口,哎,我们api文档,我自己抓包看看吧。工具选择fiddler,理由免费,用着也舒服,手机设备 iPhone6 ,app这里不介绍了。

  第一步,设置代理,

 打开fiddler,选择tool>Options>Connections ,设置端口号,勾选 Allow_remote computers to connect。然后ok.这样就完成了代理的设置。重启fiddler

查看电脑ip

 

 

 

第二步

手机链接代理服务器。

 

 然后操作下

 手机,可以看到请求过来了。

抓取知乎试一下

,很快我们就抓到了知乎,目前我的电脑fiddler 貌似有点问题。

下面正题,抓取我们公司的一款app, 

 

 

 

这是我给我们公司app发送的登录接口post请求的数据,

我们可以看到这里有详细的数据请求信息,还可以看到系统返回的接口信息,那么我们可以用到这些接口来写测试用例吗, 我们首先来看看,分析下,试着去看下我们的这条接口是否可以用代码请求到呢。

我选择的是python, 用sublime text编辑器,首先去复制这里的url  , 看看是否直接可以得到数据 ,答案应该是不能的 我们来看看。

我们可以看到 这个时候呢,接口直接给我们返回的是

数据为空,参数不正确,证明我们这个请求是成功,  接口可以正常访问,那么就是接下来去分析这些需要的参数了, 另外这里还是需要数据呢, 那么我们可以去试着去分析下这个接口的数据,

 

 我们把这些请求参数加进去,还是提示参数不对,那么我就想是不是我的headers需要添加,于是乎,我简单的添加请求头,可是还是不行,于是我去看下 fiddler 的json,textview等发现,这下参数不是我添加的样子,于是乎开始拼接,终于完成了接口珠宝分析,仔细看看我们的接口,  擦很多漏洞,接下来我就可以开始对我们公司的接口进行测试了。 

发现没有规范的接口测试文档想做接口测试还是麻烦不少,有空还是去和领导去探讨下吧。

 

 

 

以上是关于fiddler 怎么抓取scoket的主要内容,如果未能解决你的问题,请参考以下文章

fiddler怎么抓取电脑浏览器请求

怎么解决fiddler抓取不了chrome浏览器的访问

请问怎么解决fiddler抓取不了chrome浏览器的访问

Fiddler怎么抓请求做接口

Fiddler怎么可以抓取https的请求包

怎样使用 fiddler抓取网络数据包