最近这几天总是看到有帖子讲抓包,无非是Fiddler、Charles、HttpCanary之类的。操作起来也无非是安装抓包软件→安装证书→(手机/模拟器)设置dai--li→启动app→抓包。
著名的fiddler
听起来简单,操作起来也不算复杂,让读者容易有种错觉:只要安装上会抓包,我就无所不能了。然而现实残酷的很。俗话说道高一尺魔高一丈,现在直播app也不傻,很多都加上了抓包检测,即你手机设置了dai--li,那么抱歉网络错误,老子不运行了(比如小奶猫)。
所以今天就要祭出一个神器——Wireshark!
1,简介。
Wireshark(前称Ethereal)是一个网络封包分析软件。
网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
划重点:
直接与网卡通信,不用设置dai--li,打开即用!
2,安装。
用正经搜索引擎搜这个名字,第一条应该都是官网吧。
直接打开下载即可。
3,使用。
打开软件,界面也不算复杂。
一、首先选择需要抓包的网卡,如果不知道选哪个,就打开之后等一会儿,看看哪个选项后面有流量波动。
二、双击进入要抓包的网卡,就会进入到详情界面。
这时候要做好心理准备,会有海量的数据扑面而来。
你电脑上所有的网络连接都会展现出来,先别头疼,点击停止按钮,先歇歇。
三、打开模拟器,运行要抓包的app。
四、回到wireshark,重新开始抓包。
五、在app里随便点击几个房间,看到直播画面之后就退出来,然后去wireshark点击停止。
六、接下来就是分析直播服务器地址和直播流地址了。
一般情况下直播流会有flv、rtmp、m3u8等形式,我们就在抓到的数据里搜索关键字即可。最后找到我们的目标app的直播用的是rtmp。
rtmp的直播地址格式大概是“服务器/id?sign”的样子,我们在抓到的结果里轻松可以找到。
之后就是在这个id出现之前,找服务器配置。
最后得到的地址应该是这个格式:
rtmp://pull.ln2e.com/live/1/s1971500585_c3e1914088?txSecret=a8f381e8459d78d8206e80b9d99163ec&txTime=5ef0ab73
wireshark过滤器里面的“rtmpt”是用来过滤rtmp协议的,所以我们选中这个过滤条件,再加上特征字符串“play”,显示出来的就是与直播流相关的内容了。
(规则:rtmpt contains "play")
过滤之后显示的就清楚多了吧!
之后再打开直播房间,回到抓包软件直接复制id即可。
七、录制。
找到流地址,录制保存到本地就易如反掌了。
下面介绍3种方法。
1,vlc播放器:
打开→打开网络串流→粘贴地址播放→点击录制
2,ffmpeg:
ffmpeg -i 流地址 out.mp4
3,obs:
添加源→开始录制。