首页 > 其他分享 >如何从抓包文件中分析慢请求

如何从抓包文件中分析慢请求

时间:2023-06-07 11:34:59浏览次数:40  
标签:分析 文件 http 请求 frame since tcp time Time

请求慢的原因很多,当出现前端反应接口慢时,而通过后端日志查看请求处理时间并不慢时,往往会手足无措,当面对网络问题出现手足无措时,这就是在提醒你该抓包分析了,那么一般如何根据抓包文件去分析慢请求呢,今天我们就来看看。

抓包文件分析

准备用我在测试环境抓到的包去进行分析,首先执行抓包命令。

sudo tcpdump   -i lo  port  6310 -w http.pcap

-w 命令能让我在服务器上抓到的包保留到 http.pcap 文件里,然后我将这个文件从服务器上dump下来,用wireshark去进行分析。

tcp delta time

首先来看看对于tcp 包和延迟相关的属性。

截屏2023-06-05 18.09.47.png

follow 一个tcp 流

image.png

有关tcp time的时间信息在协议的传输层,点击查看可以发现有两个列,分别是

[Time since first frame in this TCP stream: 0.036151000 seconds]
[Time since previous frame in this TCP stream: 0.032279000 seconds]

Time since first frame 代表在该tcp流中,这个tcp包距离第一个tcp包相隔多少时间。

Time since previous frame 代表这个tcp包距离上一个tcp包相隔多少时间。

我们还可以将Time since previous frame 设置为自定义列,然后按这个时间排序就可以找出从传输层的角度延迟比较大的包了。

操作如下:

因为默认wireshark会解析http协议,这不便于我们单独的查看传输层的tcp包,所以把http协议的解析先关闭下。

image.png 接着将Time since previous frame 设置为自定义列,并对其进行排序

image.png

这样便可以找出是哪个tcp包延迟过大,进而可以针对它做具体的分析。

http time

除了在传输层的针对tcp的延迟分析,同样可以针对应用层做延迟分析,通过http.time 可以得到慢http请求信息。

image.png

这样便能在抓包文件中一下定位到慢http请求,我们甚至可以保存这个过滤器,以便下次抓不同包的时候能直接应用上这个过滤器,像下面这样操作

image.png

bad Tcp

无论是http time 还是tcp delta time 都是发现延迟的利器,但要弄清楚究竟为什么发生延迟,还需要从tcp的行为去分析原因。

在wireshark中异常的数据包可以通过tcp.analysis.flags 过滤器去筛选出来。

image.png

它可以筛选出异常的tcp数据包,比如重传,duplicated Ack ,找到异常数据包以后便可以快速的根据异常包的上下文去分析异常的原因了。

总结

标签:分析,文件,http,请求,frame,since,tcp,time,Time
From: https://blog.51cto.com/u_13430169/6430501

相关文章

  • nginx 文件下载conf
    server{listen8088;server_namelocalhost;gzipon;gzip_staticon;#需要http_gzip_static_module模块gzip_min_length1k;gzip_comp_level4;gzip_proxiedany;gzip_typestext/plaintext/xmltext/css;gzip_varyon;gzip_dis......
  • 关于文件处理中的文件指针调动操作 fseek( )
    #include<stdio.h>fseek(FILE*STREAM,    LONGOFSET,    INTORIGIN);      文件指针/文件流   偏移量            起始位置 FILE*fp;1.将文件指针从文件开头向右移动n个字节,fseek(fp, n, SEEK_SET)  ......
  • STM32F429 Discovery开发板应用:实现SPI-SD Card文件写入(搭载FatFS文件系统)
    MCU:STM32F429ZIT6开发环境:STM32CubeMX+MDK5 外购了一个SPI接口的SDCard模块,想要实现SD卡存储数据的功能。首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。 此时,双击完后会关闭此界面,然后打开一个新界面。 ......
  • 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面
    【关键字】HttpRequest、ArkTS、网络数据请求、@ohos.net.http【前言】在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.http 动态获取数据,进行UI列表刷新,这想必是应用开发最常见的功能。但是根据官网网络请求的示例代码进行功能开发时,封装方法进行HTTP请求后,返回......
  • re | buuctf逆向刷题之Ultimate MineSweeper全分析
    写在前头最近在buuctf上刷逆向题,做到UltimateMineSweeper,这是一道用.NET写的扫雷题,题目不难,有类名和函数名符号,分析起来很容易,耐心一点都能找到flag,但是我还是对这个题目很感兴趣,毕竟每个逆向爱好者都有一颗破解扫雷的心,所以我还是认真的把整个程序都逆了一遍,再加上目前在网上看......
  • 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面
    ​【关键字】HttpRequest、ArkTS、网络数据请求、@ohos.net.http 【前言】在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.http 动态获取数据,进行UI列表刷新,这想必是应用开发最常见的功能。但是根据官网网络请求的示例代码进行功能开发时,封装方法进行HTTP......
  • 侯捷C++STL源码分析
    STL六大部件容器(Containers):放东西,需要占用内存。分配器(Allocators):支持容器。算法(Algorithms):操作容器里面的数据。迭代器(Iterators):容器和算法之间的桥梁,泛化的指针。适配器(Adapters)仿函数(Functors)#include<vector>#include<algorithm>#inclu......
  • 转载:PageOffice动态生成Word文件并转换为PDF
    说明:PageOffice是客户端插件,做不到纯后台调用把word转为pdf。但是pageoffice的FileMaker对象可以实现不在客户端打开文件直接转换文件为pdf并保存到服务器端,看起来跟服务器端转换的效果一样。1、环境前端:vue后端:springboot、pageoffice5.4.0.3版本2、前端在index.vue页面定......
  • tar打包文件排除项使用
    1、exclude排除参数使用tar-Pczf/tmp/data.tar.gz/data--exclude*.jar--exclude*.war--exclude=/data/jenkins2、注意项a、排除目录需要使用绝对路径b、如果在crontab中使用需要加上转义斜杠,不然排除不生效。如下所示:tar-Pczf/tmp/data.tar.gz/data--excl......
  • liunx查找并删除历史文件
    find路径-mtime+天数-typef-name"文件名"-execrm-rf{};find/tmp-mtime+30-typef-name"*"-execrm-rf{}\;/tmp--设置查找的目录;-mtime+30--设置修改时间为30天前;-typef--设置查找的类型为文件;其中f为文件,d则为文件夹-name"*"--设置文件名称,可......