Wireshark抓包实例分析HTTP问题(上)

2024-06-16 10:08

本文主要是介绍Wireshark抓包实例分析HTTP问题(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       前面开发一个移动APP是基于Socket长连接交互数据的,涉及到交互数据包的问题,我通过用Wireshark抓包工具,查看发送的数据包格式。当然,有很多的抓包工具可以实现这抓包的功能,我比较熟悉的抓包工具就是Wireshark,Wireshark方便我们对交互数据的格式规范查看,发送数据与接收数据都很方便的获取到,这样就方便程序员判断数据交互的过程中出现问题Bug的判断了。Wireshark 美中不足的是,会遇到HTTP的问题可能是由于慢速服务器或客户端,TCP性能问题,本文讨论上述问题以及其他可能因素。

 

诊断过程:

 

浏览网页性能变差的原因有很多,需要逐步分析。步骤如下:

  1. 首先,不仅要确认网络负载状况,还要注意通信链路上的出错率,以及导致性能变差的最明显的表现;
  2. 诊断TCP问题,检查以下细节:
  • 在Expert info窗口,确保没有太多重传以及重复ACK(百分之0.5至0.8尚可忍受)。
  • 确保HTTP连接上没有reset,可能由于防火墙或站点限制引发。

   3.  确保没有以下DNS问题:

  • 慢速响应时间
  • 域名未找到

如果以上均不适用,就需要对HTTP深入研究。

 

注意:将网络和IT环境看作一个整体。对于慢速网络浏览应用,TCP问题亦不能分离于HTTP,DNS问题。可能是由于慢速HTTP服务器,因服务器的慢速响应而产生了TCP重传。或者,由于DNS慢速服务器,打开网页可能需要好几秒钟。一步步定位问题就好了。

 

当你第一次打开一个网页,可能需要几秒钟。在这种情况下,应当查看以下情况:

  1. 检查线路是否过载
  2. 检查线路延时(通过ping工具)
  3. 查看错误代码,通常能看到浏览器报错原因,但并不总是能看到。
  4. 配置过滤器http.response >= 400并查看有多少错误。以下章节,你会看到需要注意的示例。
  5. Informational codes

    image002.png

     

    Success codes

    image003.png

     

    Redirect codes

    image004.png


这篇关于Wireshark抓包实例分析HTTP问题(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066164

相关文章

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

MySQL主从同步延迟问题的全面解决方案

《MySQL主从同步延迟问题的全面解决方案》MySQL主从同步延迟是分布式数据库系统中的常见问题,会导致从库读取到过期数据,影响业务一致性,下面我将深入分析延迟原因并提供多层次的解决方案,需要的朋友可... 目录一、同步延迟原因深度分析1.1 主从复制原理回顾1.2 延迟产生的关键环节二、实时监控与诊断方案

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑