Wireshark入门与进阶系列十之追踪文件分析

来源:互联网 发布:诺基亚软件下载塞班 编辑:程序博客网 时间:2024/05/17 08:37

0x00 前言

    Wireshark(前称Ethereal)中文版是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。本文着重分析追踪文件分享,以此来确认线路延时、客户端延迟、服务器延迟等常见问题。

0x01 基本原理

1 wireshark线路捕获的硬件基础,详细见下图:

 

2 分析网络主要性能问题

  • 高延迟(客户端,服务器,链接)
  • 丢包(上传,下载)
  • 拥塞(网络,接收器)
  • 配置问题(服务不可用,循环)
  • 重定向(路由,服务)
  • 相互依赖性(第三方)
  • 低吞吐量(Itty-Bitty Stinkin数据包)
  • 协商故障(应用层协议)

0x02 网络延时

线路延迟 - -----客户端延迟-----服务器延迟

① SYN---SYN-ACK 延时--->>链路延时

        问题分析:SYN和ACK SYN之间的时间暗示线路的往返延迟时间和通过TCP / IP栈来建立连接的处理延时。如果这过程平均需要很长一段时间,那么我们就需要考虑沿着引入延时的网络路径来寻找链路和设备,也就是说在硬件设备和线路直接的接入有问题。可能的原因有:接入层的客户端配置有问题;接入层的端口松动、损坏;终端到接入层(交换层)网络线路老化、被截断等原因。

        排障思路:检查本地的客户端的配置、端口-->>连接本地的客户端到服务器(接入层交换机、交换层的路由器)的线路--->>服务器

 

② SYN-ACK---ACK--->>客户端延时

        问题分析:在SYN ACK和ACK之间的时间暗示客户端的响应速度 - 这仅和客户端的TCP / IP堆栈相关,和客户端处理应用程序的能力无关。也就是说客户端开启过多的应用程序或者进程,这些进程建立了太多的连接,这些连接保持连接或者出于等待状态。

        排障思路:查看客户端的网络连接情况,并且确认哪些程序开启了大量的连接,关闭部分不必要的连接;隐藏的后台程序保持了大量的连接,查看这些连接是否必要的,如果没有必要请关闭这些连接。


③ACK --- GET/  --->>客户端延时

        问题分析:ACK和GET命令(或下一个被发送的任何命令)之间的时间暗示着客户端的应用程序产生请求的速度。通常在TCP 握手过程完成时,应用程序会作出即时的请求到服务器(除等待服务器首先发送数据外。例如对于FTP,客户端等待的标识)

        排障思路:对于这种情况,我们可以在客户端进行刷新或者进行进程的更新;如果客户端的进程太多过度占用资源,会导客户端来不及发送请求或者是客户端使用代理等等问题,重点排查客户端的问题。


④ GET / ---ACK --->>链路延时

        问题分析:GET命令和ACK之间的时间再次暗示着链路迟。本质上类似①,如果这需要很长的时间,再看看网络路径一次。

        排障思路:检查本地的客户端的配置、端口-->>连接本地的客户端到服务器(接入层交换机、交换层的路由器)的线路--->>服务器


⑤ GET / -- ACK -- DATA -->>服务器延时

       问题分析:从GET命令到数据的实际返回的时间代表着服务器处理请求和获取数据返回给客户端的必需的时间。如果这个时间值高(但④低),那么我们看一下在这个连接中响应缓慢的服务器

       排障思路:从这个症状来看,是服务器的Web应用转发和处理请求过慢,可能的原因是服务器的配置有问题或者服务器上的内存CPU等消耗过大,导致服务器Web响应不过来,所以重点排除服务器的web 容器等配置以及服务器的资源使用情况。

 

 

0x04 参考资料

https://wiki.wireshark.org/

https://www.wireshark.org/docs/

https://sharkfest.wireshark.org/sf08.html/



欢迎大家分享更好的思路,热切期待^^_^^ !

 

0 0