网络故障排查之抓包利器wireshark

时间:2024-03-19 20:16:45

        “ 主要讲解抓包步骤和网络故障分析方法 ”  

使用步骤

  • 选择网卡、点击Start出现(2)图所示主界面

网络故障排查之抓包利器wireshark

(1)

  • 点击Expression

网络故障排查之抓包利器wireshark

(2)

  • 选择HTTP协议,当然也可以选择其他的协议进行过滤。

网络故障排查之抓包利器wireshark

过滤条件,显示过滤器用于查找捕捉记录中的内容,只要有的协议都是可以通过表达式的方式进行过滤,请参考Wireshark过滤器中的详细内容。

网络故障排查之抓包利器wireshark

包列表介绍

 封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的MAC/IP地址,TCP/UDP端口号,协议或者封包的内容。

     如果捕获的是一个OSIlayer2的封包,您在Source(来源)和Destination(目的地)列中看到的将是MAC地址,当然,此时Port(端口)列将会为空。

    如果捕获的是一个OSI layer 3或者更高层的封包,您在Source(来源)和Destination(目的地)列中看到的将是IP地址。Port(端口)列仅会在这个封包属于第4或者更高层时才会显示。

网络故障排查之抓包利器wireshark

(3)

封包详细信息

       这里显示的是在封包列表中被选中项目的详细信息。信息按照不同的OSI layer进行了分组,您可以展开每个项目查看。下面截图中展开的是HTTP信息。

  • 点击apply

网络故障排查之抓包利器wireshark

(4)

  • 点击查看结果

网络故障排查之抓包利器wireshark

(5)

  • 跟踪流信息

网络故障排查之抓包利器wireshark

故障排查

通过wireshark排查握手失败原因

失败的原因很多种,但是大致分为两类,要么拒绝,要么丢包,通过下面两道表达式能够过滤出大多数场景下的失败原因,从而进一步定位和解决问题。

  • 过滤握手拒绝请求:tcp.flags.reset==1&&tcp.seq==1
    如下图所示(可以看出服务器111.221.29.254没有监听443端口故拒绝了客户端192.168.4.35的连接):

网络故障排查之抓包利器wireshark

  • 过滤重传的握手请求:tcp.flags.syn==1&&tcp.analysis.retransmission
     如下图所示(出现此问题的原因是因为服务端 74.25.204.102没有收到客户端192.168.4.34的握手请求或者对方确认没有收到):

网络故障排查之抓包利器wireshark

总结

    wireshark本身入门使用很简单,关键是如何用来排查网络故障,就比如服务器出现故障我们tcpdump抓包保存后,可以导入wireshark进行分析追溯问题。


TCP滑动窗口消息堆积

基础知识普及-网络抓包工具(tcpdump)


添加关注直接获取更多技术书籍、视频资源

原创不易,如果觉得有用,可以随手转发或者”在看“