百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

HLS实战之Wireshark抓包分析 wireshark抓包分析http

liebian365 2024-10-14 22:19 27 浏览 0 评论

0.引言

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛的网络封包分析软件之一。

Wireshark官网地址:https://www.wireshark.org/

软件主界面:

wireshark怎么抓包、wireshark抓包详细图文教程

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark。

wireshark 开始抓包

开始界面

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包。注意网卡,千万不能选错了,否则抓不到正确的数据。我下面抓包这里选取的是VM8.

Wireshark 窗口介绍

(1) Display Filter(显示过滤器), 用于过滤

(2) Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

(3) Packet Details Pane(封包详细信息), 显示封包中的字段

(4) Dissector Pane(16进制数据)

(5) Miscellanous(地址栏,杂项)

使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种:

一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置保存过滤,在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102"。

Filter栏上就多了个"Filter 102" 的按钮。

过滤表达式的规则

表达式规则如下:

(1) 协议过滤

比如TCP,只显示TCP协议。下面抓包中会涉及到RTMP和HTTP协议。

(2)IP 过滤

比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,ip.dst==192.168.1.102, 目标地址为192.168.1.102

(3)端口过滤

tcp.port ==80, 端口为80,tcp.srcport == 80, 只显示TCP协议的愿端口为80。下面涉及到8080端口。

(4)Http模式过滤

http.request.method=="GET", 只显示HTTP GET方法的。

(5)逻辑运算符为 AND/ OR


封包列表(Packet List Pane)

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。你也可以修改这些显示颜色的规则, View ->Coloring Rules。

封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

Frame: 物理层的数据帧概况。

Ethernet II: 数据链路层以太网帧头部信息。

Internet Protocol Version 4: 互联网层IP包头部信息。

Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP。

Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议。


TCP包的具体内容

从下图可以看到wireshark捕获到的TCP包中的每个字段。

看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例:

三次握手过程为,如下:


图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接。

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图:

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

就这样通过了TCP三次握手,建立了连接。

这一节都是Wireshark使用图文教程。手把手教你抓包。


1.Wireshark抓包HLS

其中要设置三要素,三要素如下:

(1)ip地址

(2)端口

(3)协议 http

Wireshark窗口设置,如下:

ip.addr==172.16.204.133 and tcp.port==8080 and http


点击推流(可以使用各种推流工具),可以看到如下界面:

这里举例使用ffmpeg 推流: ffmpeg -re -i time.flv -vcodec copy -acodec copy -f flv -y

也可以参考前面的文章

超详细RTMP协议详解(资深流媒体架构师推荐)

手把手搭建流媒体服务器详细步骤

拉流使用ffplay(也可以使用其它工具),命令如下,界面如下表示可以捕获成功。

这里拉取RTMP流:ffplay rtmp://172.16.204.133/live/livestream

拉取HTTP流,命令如下,表示可以捕获成功,可以看到这里捕获的都是HTTP协议的内容。

关于HLS手把手搭建流媒体服务器,可以参考这篇文章:手把手配置HLS流媒体服务器

这里拉取HTTP流:HLS拉流地址:ffplay http://172.16.204.133:8080/live/livestream.m3u8

注意:HLS,这里走的是HTTP协议。

可以看到客户端请求服务器端livestream.m3u8的数据。

通过HLS抓包分析,可以看到通过HTTP分段拉取ts片段,如下图中的livestream-148.ts、livestream-149.ts、livestream-150.ts、livestream-151.ts

注意:客户端会实时拉取更新的livestream.m3u8。


还能抓取到PAT表、PMT表。

有些为了降低延时,有些策略会去拉取最近的ts流,但是这样可能会有个问题。为什么呢?

如果直接播放最后一个ts文件,那播放完当前ts文件的时候,这个时候去拉更新m3u8文件,接下来的ts文件不一定生成好。这样就可能会有断音,造成不好的用户体验。比如当前播放的是9秒,新生成的ts要10秒,这样就会造成断音。为了兼容这两种情况,那就可以适当缓冲下,再播放。

本篇文章偏向实战,抓包分析,本篇文章就分析到这里,欢迎大家关注欢迎关注,点赞,转发,收藏,分享,评论区讨论。

后面关于项目知识,后期会更新。欢迎关注微信公众号"记录世界 from antonio"。

相关推荐

4万多吨豪华游轮遇险 竟是因为这个原因……

(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...

“菜鸟黑客”必用兵器之“渗透测试篇二”

"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...

科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白

作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...

麦子陪你做作业(二):KEGG通路数据库的正确打开姿势

作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...

知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势

智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...

每日新闻播报(September 14)_每日新闻播报英文

AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...

香港新巴城巴开放实时到站数据 供科技界研发使用

中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...

5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper

本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...

Qt动画效果展示_qt显示图片

今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...

如何从0到1设计实现一门自己的脚本语言

作者:dong...

三年级语文上册 仿写句子 需要的直接下载打印吧

描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...

C++|那些一看就很简洁、优雅、经典的小代码段

目录0等概率随机洗牌:1大小写转换2字符串复制...

二年级上册语文必考句子仿写,家长打印,孩子照着练

二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...

一年级语文上 句子专项练习(可打印)

...

亲自上阵!C++ 大佬深度“剧透”:C++26 将如何在代码生成上对抗 Rust?

...

取消回复欢迎 发表评论: