微信号:dellemc_tech

介绍:为戴尔易安信客户提供技术支持服务,为广大IT行业用户分享技术文章与行业信息。

网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题

2017-08-03 16:12 EMC中国技术社区

前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP常见问题。


TCP进程通讯时,双方打开连接,发送数据,最后关闭连接。当TCP打开连接时,从源端口到目的端口发送一个请求。在应用建立或关闭时可能发生一些问题。本文讨论用Wireshark网络抓包的方法来定位及解决这一问题。



问题的表现形式:

 

问题可能有多种表现类型:

  • 尝试运行应用程序但发现应用程序无法工作。尝试浏览网络但无法获得响应。

  • 尝试发送邮件但无法连接到邮件服务器。

  • 问题可能由简单原因引起,如服务器宕机,服务器上没有运行应用程序,或在客户端到服务器的某一处网络断开。

  • 问题也可能由复杂原因引起,如DNS问题,服务器内存不足无法连接(例如某一应用占用高内存空间),重复IP,以及其他原因。



处理方法:


下文会介绍解决问题的线索以及如何通过抓包来诊断TCP连接问题。通常,这些问题会导致运行应用程序时无法得到任何结果。


当你在运行一个应用程序时,例如数据库客户端,邮件客户端,观看视频等等,而又无法获得输出,按照以下步骤诊断:

  1. 确认服务器和应用程序正在运行。

  2. 确认客户端正在运行,IP地址已配置(手动或通过DHCP),并连接至网络。

  3. Ping服务器并确认连接正常。

  4. 在某些情况下,ping不通服务器但连接正常。这是由于防火墙拦截了ICMP信息,所以如果无法ping通并不一定表示连接有问题。防火墙可能是网络中的专用设备或Windows/Linux/UNIX终端设备上安装的防火墙。

  5. 抓包文件中,查找以下模式:

    • 三重SYN信息而没有响应(见以下截屏)

    • SYN信息带一个reset(RST)响应


这两种情况下都有可能是防火墙拦截了特定应用程序或应用程序没有在运行。

 

以下截屏是一个简单的case:客户端无法连接到web服务器81.218.31.171(报文61,62和63)。可能是由于不被防火墙允许,或服务器发生故障。可以看到另一个站点108.160.163.43(报文65,66和67)的连接正常,因此连接问题仅限于81.218.31.171。