文章目录

  • 虚拟网络运维----基于wireshark报文分析快速过滤(tcp,icmp,http)报文时延
    • 前言
    • tcp协议高时延报文定位
    • http协议高时延报文定位
    • icmp协议高时延报文

虚拟网络运维----基于wireshark报文分析快速过滤(tcp,icmp,http)报文时延

前言

在网络运维中,在报文分析时,时延类问题是比较常见的问题场景,如何快速定位到高时延的报文就会比较有用;这里简单介绍一下基于wireshark快速过滤tcp、http、icmp协议报文的高时延报文;

文章原创输出,请认准作者[[海渊_haiyuan]],感谢;

tcp协议高时延报文定位

在过滤tcp协议报文的高时延报文时,就不得不提到两个字段:

Time since first frame in this TCP stream     # 自此TCP流中第一帧以来的时间,tcp.time_relative
Time since previous frame in this TCP stream  # 距此TCP流中的上一帧的时间,tcp.time_delta

如下图所示:

可能部分wireshark 展开tcp协议后无法看到这两个字段;是需要在首选项配置时,进行一下配置,需要勾选“Calculate conversation timestamps”;如果是windows平台下,支持中文的话,就是首选项;

勾选该字段后,即可在tcp协议层看到该字段;

如前面所讲,这两个字段分配代表一条tcp流中,该帧报文和上一帧报文的时间间隔;该帧报文和所在tcp流的第一帧报文的时间间隔;也就是说这两个字段是代表是一个相对的时间差;

取值来自wireshark中Time那一列,由该列中的时间戳的值相减得到,有关该列的详细说明可见我的其他文档有说明;这里需要提醒的一点是time这列的值,这个时间戳是取值与OS 系统的当前时间,所以在多个节点抓包分析时延时,由于每个机器的OS时间会存在偏差,或大或小,分析时需要将这个因素考量进去,不然会对时延的分析产生极大的干扰,这一点本人曾经吃过亏;

当时是一个高时延的场景,两台物理机之间的复现问题时延是在十几秒;而两台机器的OS时间又相差10s左右;导致抓包分析时,从报文计算的时延只有几秒,而客户端的请求统计却有十几秒;导致没有通过报文精准计算出高时延的链路段,走了很多弯路;

应用为列,快速过滤较大时延:

选中字段“Time since previous frame in this TCP stream”,右键选择“Apply as Column”应用为列;


然后点击wireshark 列名,wireshark工具就会自动进行从小到大的排序,再点击一下就是从大到小的排序:

这样就可以快速看到高时延的报文,然后右键追踪流即可详细查看该数据流的情况;

过滤器表达式筛选高时延报文:

可以在wireshark官网查看相关字段对应的wireshark过滤器名称,

https://www.wireshark.org/docs/dfref/t/tcp.html

或者直接选择对应字段右键选择“Apply as Filter” 或 “Prepare as Filter” 以及后面的各种条件;


实际运维中,常用的场景时,过滤ip为192.168.1.121,tcp协议,时延大于1s 的报文,过滤表达式即为:

ip.addr == 192.168.1.121 and tcp and tcp.time_delta >= 1

http协议高时延报文定位

http协议是基于tcp协议的7层应用层协议,所以前面所有的tcp报文时延分析同样适用;

不过对于http请求来说,实际场景中也是需要只分析http层的时延,即http request 报文 和 http response 报文的时延计算;

这是由于,很多http的 request 和 response 报文中,会有tcp ack 确认报文、tcp psh数据传输报文;

以下图为例:

如果只需要计算http request 和 http response 的时延,即 frame 532 time - frame 526 才是这次http response的时延;

实际 http 协议中也存在记录时延的字段,字段为:

Time since request       # 该字段只在http response报文中有;记录这次response的时延;


同理可以将该字段应用为列或直接在过滤器中使用:

例如:

ip.addr == 192.168.1.121 and  http.response.code == 200 and http.time > 0.5

icmp协议高时延报文

icmp 作为在运维中使用最高频的协议之一,在测试网络连通性等场景下,使用及其丰富;关于快速定位icmp协议高时延报文和前面的tcp、http协议同样很重要;

在icmp reply 报文中,一样存在字段记录icmp协议 response time;

Response time        # icmp 协议响应报文,注意取值对应单位,注意单位

同前面描述的类似,应用为列,或 过滤器中过滤使用:

icmp.resptime > 3

虚拟网络运维----基于wireshark报文分析快速过滤(tcp,icmp,http)报文时延相关推荐

  1. 网络运维工程师面试(笔试)

    网络运维工程师面试(笔试) TCP/IP模型有几层,他们的作用分别是什么? OSI模型有几层,作用是? 相同vlan连接不同的交换机,如何通信? arp欺骗的原理? ping的过程 nat有几种,静态 ...

  2. 生产制造业网络运维监控方案

    工业2.0实现"电气化.机械化",工业3.0实现"自动化.网络化",工业4.0则旨在实现"数字化.智能化".随着工业互联网的发展,新兴信息技 ...

  3. 云网络运维必备神器:全链路故障诊断与分析

    摘要:华为云Stack全链路故障诊断与分析平台,以云网络中的逻辑网络.虚拟网络.物理网络作为网络故障分析诊断切入点,以三层网络路径拓扑为核心,端到端实现三层网络路径可视化. 本文分享自华为云社区< ...

  4. 2021AIOps挑战赛|基于移动通信网络运维中的多指标时空序列预测

    2021国际AIOps挑战赛决赛暨AIOps创新高峰论坛于2021年5月13日在北京成功举行.本文根据中国移动研究院首席科学家.人工智能与智慧运营中心总经理冯俊兰博士现场发言纪要整理而成. 演讲内容 ...

  5. 【SDN】浅谈数据中心网络运维之异常泛洪流量分析及优化

    原文链接:http://dc.idcquan.com/ywgl/158190.shtml 随着IT技术的蓬勃发展,大数据.云计算及SDN等新兴技术的使用已成为未来数据中心建设新趋势,这些技术在为业务带 ...

  6. 中国移动研究院冯俊兰:基于移动通信网络运维中的多指标时空序列预测

    这和我当年做的工作就很像了. 转载自:https://mp.weixin.qq.com/s/veqH753nxWW0Hr0PDB1uSg 中国移动研究院冯俊兰:基于移动通信网络运维中的多指标时空序列预 ...

  7. 网络回溯分析技术八大应用之运维评估 网络运维的真正价值

    提示:<科来网络回溯分析系统​>V4.0已经正式发布啦!详见科来软件官方网站                      网络回溯分析技术八大应用之运维评估 网管人员最尴尬的地方在于,当你的 ...

  8. Python在网络运维中的应用与分析

    目前Python是新兴技术编程语言的主流之一,随着互联网技术的不断发展,计算机网络的应用范围也随之增加,网络运维自动化和智能化需求越来越高,Python编程语言逐渐盛行,该程序设计语言简单灵活,拥有庞 ...

  9. 降低网络运维管理成本技巧分析

    如何正确的降低网络运维管理成本,是每一个企业IT管理员必须要解决的问题.受国内外各方面因素的综合影响,IT市场整体需求下滑,而传统的网络产品的价格却越来越透明,竞争越来越大,产品利润越来越低,不少中小 ...

最新文章

  1. lispbox 安装运行.sh的时候出现 lispbox.sh: 2: lispbox.sh: Bad substitution
  2. 一文带你了解卷积神经网络基础,建议收藏
  3. 小学生计算机舞蹈,最近“泼水成画”很火?舞蹈生VS体育生,看到计算机:你是来添乱的?...
  4. 数据结构与算法--二叉树第k个大的节点
  5. JimuReport积木报表,一个好用的开源免费的报表平台!
  6. 单片机的内存分配(变量的存储位置)详解
  7. mysql 联表删除limit_sql连表删除 | 深蓝的blog
  8. GCPC 2018 – Problem D: Down the Pyramid
  9. 智能控制导论 # 模糊控制 2 模糊控制器的原理与设计方法
  10. 软件开发职业发展路径
  11. Docker部署Nebula Graph2.0和Studio
  12. 数据库-在E-R模型中,如果有5个不同的实体集,存在2个1:n联系和3个m:n联系,根据E-R模型转换为关系模型的规则,该E-R图转换为关系模式的数目至少
  13. 电脑网线/水晶头的连接方法(A类,B类)
  14. 学习vue3组件事件时,思维发散(溜号)的感悟
  15. 一个积分不等式的再讨论
  16. 一个完美的JS加密和解密程序
  17. 数据库规范化三个范式应用实例
  18. Postgresql 表bloating 怎么办 ---pg_bloat_check 你造(知道)吗?
  19. 回望2021,展望2022-我的个人年度回顾与总结
  20. 关于小游戏初步开发的一些理解

热门文章

  1. GIS中墨卡托与WGS 84的瓦片编号计算方法
  2. Python文字转换语音,抠脚大汉秒变撒娇萌妹
  3. CAD二次开发合并所有能合并的线
  4. 用C语言编写简单的通讯录(大一课程作业)
  5. 如何查看直播间在线人数?观看软件数据分析
  6. 黄牛落泪!全球显卡价格纷纷跳水,高价囤货滞销
  7. oracle 的编码,Oracle 编码格式
  8. 显著性检验 p-value
  9. python求鸡兔同笼 鸡兔总数鸡兔腿_编写一个程序解鸡兔同笼问题:已知鸡兔总数为a,鸡兔腿总数为b,计算鸡兔各有多少只?...
  10. spring-boot-devtools 快速重启的秘密!