wireshark 工具使用

在工作中,由于各种网络通信,抓取网络包分析就显得非常重要了,linux 系统中查看网络包个人觉得不太方便,一般都是通过tcpdump命令抓取过滤后的特定网络包,在pc机上通过wireshark软件查看。

网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

安装后界面如下图:
在这里插入图片描述

此软件的功能强大之处在于能够解析各种协议的网络数据包(http,icmp,dhcp,tcp,udp,snmp等各种协议报文均可解析),具体的协议包内容在上图中间的协议书中均可看到,下面则是16进制原始数据,可以从源数据层面分析数据发送/接受是否有误。

对于tcp协议通信,在解析包的时候需要关注几个信息,源IP地址、端口号,目的IP地址端口号,序列号等信息, 这些信息在打开协议数侯军能看到,如图:
在这里插入图片描述

还可以通过右键某一条协议,追踪流功能,即可展开关于此tcp流的自始至终的交互过程。

个人觉得,由于抓取数据包的时候,会有大量的网络包存在文件当中,而我们仅仅需要有限的数据包即可,所以,wireshark 中的过滤器是至关重要的。关于wireshark过滤器的使用,以下举例说明:

  1. 过滤固定ip的数据包 eg:ip.addr == 192.168.11.120,此方法不区分源ip或目的ip
  2. 过滤源ip/目的ip eg:ip.src == 192.168.11.120 / ip.dst == 192.168.11.121
  3. 过滤固定协议 eg: tcp / http / icmp / dhcp
  4. 过滤端口号 eg:tcp.port == 80
    更多的过滤条件可以在wireshark过滤器右端的表达式去查找,各种强大的表达式,总有一款能够满足你的功能。
    在这里插入图片描述

实际工作中,当数据不正常时,我们首先需要考虑的是连接问题,其次是丢包问题,查看是否丢包,可以通过wireshark工具的统计和电话功能来实现,我个人用处最多的时rtp流的电话统计,如下图,可以清晰的看到丢包与否,
在这里插入图片描述

然而我们在实际应用过程中,http、tcp、udp 协议等常用协议我们调通后用到的很少,而且协议很成熟,很少能够出错,每个项目都有自己的私有协议,而私有协议也可以向tcp/udp一样在wireshark中解析,这才是wireshark最最最强大的地方,wireshark通过lua脚本,实现私有协议的显示,操作很简单,只需要在wireshark安装路径下找到init.lua文件,并在该文件最后一样输入dofile(“XXX.lua”)即可。
lua脚本也很简单,大家可以参考网络上其他教程编写,此处就不跟大家详细解说了。

添加了私有协议的wireshark,可以通过过滤器直接搜索协议名称实现数据包的过滤。如下图:
在这里插入图片描述

总的来说,wireshark是一款非常强的且实用的软件,可以帮助我们在工作中解决好多网络问题。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章