wireshark 捕获http协议_wireshark分析http延迟

本文指导如何使用Wireshark捕获过滤和显示过滤器,追踪单一HTTP会话,分析包间延迟,以及通过着色规则识别性能瓶颈,以定位浏览器访问网站的性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

假设一个场景:浏览器访问网站有时较慢,通过后台日志查看服务正常,为了定位哪些服务较慢,我们可以借助wireshark抓包来分析哪些点是性能瓶颈。

本文涉及概念:

· 捕获过滤器、显示过滤器

· 着色规则

· 过滤单一HTTP会话

捕获文件

若想定位问题需要首先捕获有问题的包,假若本机地址为192.168.16.86,远程服务器端口80,打开wireshark设置捕获过滤器如下,进行开始捕获,然后访问http服务,访问结束后停止捕获。

f07c764fb6024294a799f891c9e03503

过滤单一http会话

在捕获的包中往往还有其它一些数据包,这时我们需要过滤出我们访问服务的那个单独会话,方法有两种:

(1) 会话过滤

在我们确认的一个包上右键单击,在弹出的快捷中选择Conversation Filter|TCP

3ca6e87d23d84f31b4302db919de5b32

此时就会在显示过滤器中自动填写过滤表达式过滤出单一会话

ec056ba4e4724956bc2e97b357c6da53

上述方法与菜单Statistics|Conversations打开的会话统计对话框中右击某会话选择Apply as Filter|Selected|AB一样,也会在显示过滤器中自动填写过滤表达式过滤出会话。

0d064a641b4b4c19bd7f9ba27a0ededd

(2) 追踪流

同样是在确认的一个包上右击,在弹出的快捷中选择Flow|TCP Stream

f62297571f68493d832bbb0c57ba6e5d

此时就会在显示过滤器中自动填写过滤表达式过滤出单一流。这次的显示过滤器为tcp.stream eq 2,说明是整个捕获文件中多个tcp流中的第3个(索引从0开始),这个编号是wireshark编的顺序。另外还会弹出整个流会话内容,若想查询会话内容,请使用此方法。

4da74f836b384eb5b8c5a4accd949762

与第一种方式一样,还有一种操作方式与此方式一样,就是在特定包的packet detail面板中,找到TCP分析结果中的Stream index,然后右击选择Apply as Filter|Select,可以达到一样的效果(注意不会弹出流会话对话框)。

2e59a5193b8c4fcfaf36057df996ac41

找到较长时间的包

过滤出了我们想要的会话,下面就要找出较长时间的包了,在TCP分析结果右右击,确保选中了协议首选项中的Calculate conversation timestamp。

db317feffc734d369aaa1d1585ec3ba9

由于勾选了计算会话时间,所以每个TCP分析结果下都会有一个Timestamps,此选项中有2个内容,一个是当前数据包相对于当前会话第1个包所经过的时间,一个是当前数据包相对于当前会话中前一个数据包所经过的时间,我们计算延迟的话使用第2个,在第2个上右击Apply as Column,这样这列的数值就会作为Packet List面板中的一列,因为列标题太长,我们可以右击列标题对列进行编辑,改变下列标题的名称为TCP delta。

85e3f4b2a3504582afdc7707e18662bd
e74f9a235a7f4a7a836f89e9df98adef

通过新增的TCP delta列我们可以清楚的看到此会话中每一个包与上一个包所间隔的时间。仅靠人工排查间隔时间很容易漏掉某些包,特别是有许多包时间间隔较近时,这时我们可以使用wireshark的着色,即对符合某一条件的数据包显示特定的颜色,假设我们想对上述过滤出来的会话包间隔大于30秒的话以蓝色背景白色字体显示出来,这样我们就可以一眼看出哪个包间隔时间较长。

通过View|Coloring Rules打开着色规则对话框,新加一条规则,指定规则过滤条件及前景色和背景色。这个过滤条件哪来的?怎么写?还记得前面timestamp选项么,当我们点击timestamp下的Time Since previous frame in this TCP stream时,在任务栏就会显示此过滤项。这也是之前教程中分析各种协议各个字段域名的由来。

2acc36f4f2154bec972059ed93ca1c8a

新增好后再次看Packet List面板,间隔大于30s的数据包已经标记为了蓝底白字了。这时就可以根据此包交互内容判定服务是否有问题了。

1f57167f36fe482a952a705788e8aff8

注:以上内容只是解决问题的一个参考思路,并非实际生产分析数据及过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值