前言

wireshark 是一款网卡抓包软件,具有强大的抓包功能,可以抓取经过网卡的全部数据,这意味着可以查看所有网络的流量发生过什么事情。但它也会有缺点,就是信息量大,获取有用信息是有门槛的,不提供 https 的解码,也不提供修改数据包内容功能。


安装

下载安装可以到 wireshark 的官网:​https://www.wireshark.org/​

如果连接不上官网,大家直接搜索下载也可以。安装完成后首先是看到选择网卡页面,既然是从网卡抓包,肯定要先选择要抓的网卡。

强大的网络抓包神器——Wireshark_数据


开始使用

第一步

选择网卡后,首先会看到大量的数据,第一步我们先过滤一下信息。在过滤器,输入要查看的协议,如HTTP。

过滤前

强大的网络抓包神器——Wireshark_数据_02

过滤后

强大的网络抓包神器——Wireshark_抓包_03


第二步

过滤大量信息后,进一步过滤找到自己的目标,通过&&来增加过滤条件,如想看的 IP 是 120.31.135.116。

http&&ip.addr==120.31.135.116

只想看本地发向目标 IP 的:

http&&ip.dst==120.31.135.116

想看目标 IP 发向本地的:

http&&ip.src==120.31.135.116

到这里,抓到的包就很清晰了,如果想看其他协议的包,把 http 修改为对应协议即可。

像 ARP、DHCP、DNS、ICMP,甚至随便找个网络协议研究,wireshark 都可以满足你的需求。wireshark 的过滤器还有很多维度的过滤功能,具体内容可以去 wireshark 官方文档查看:​https://www.wireshark.org/docs/wsug_html_chunked/index.html​

分析数据包

OSI 七层模型大家听得多,在 wireshark 可以直观地看到 OSI 七层的内容。

强大的网络抓包神器——Wireshark_传输层_04

以一个 http 包为例,从上到下分别是:

  • 物理层
  • 数据链路层
  • 网络层
  • 传输层
  • 应用层
  • JSON数据

强大的网络抓包神器——Wireshark_Wireshark_05


物理层

最底层的数据,物理链路相关的信息,确保数据能在各种物理介质中传输。

强大的网络抓包神器——Wireshark_Wireshark_06


数据链路层

数据链路层,目的是保证物理层的数据,稳定地向网络层目标传输,记录有目标和源头的 MAC 地址。转换 MAC 地址的 ARP、RARP 协议,就属于这一层。

强大的网络抓包神器——Wireshark_传输层_07


网络层

网络层负责点到点的工作,一台主机的数据传输到目标主机,不保证数据的有效性。主要进行路由选择等工作,也可以进行阻塞控制,异步,综合业务(ISDN数字化,以前是IDN模拟传输)。

强大的网络抓包神器——Wireshark_Wireshark_08


传输层

传输层负责端到端的工作,端口端口,一个端口就是一个进程收数据的接口,端到端就是一个进程的数据传输到另一个进程。最出名的 TCP 和 UDP 协议都是传输层协议,负责进程之间的数据传输,保证了数据的可靠性和有效性。基本功能包括:

  • 分割和重组数据
  • 按端口寻址
  • 连接管理(三次握手,四次挥手)
  • 差错控制、流量控制等控制功能

强大的网络抓包神器——Wireshark_数据_09


应用层

OSI 模型中分七层,而 TCP/IP 模型中把最上三层统一定义为应用层,wireshark也是类似。

强大的网络抓包神器——Wireshark_传输层_10


其他常用功能

追踪流:查看连接的响应,一般是追踪TCP流。

强大的网络抓包神器——Wireshark_数据_11


查看会话:统计,endpoint,可以查看网卡下所有的连接。

强大的网络抓包神器——Wireshark_Wireshark_12

强大的网络抓包神器——Wireshark_传输层_13


过滤器:可以保存常用的过滤参数,方便多次使用。

强大的网络抓包神器——Wireshark_Wireshark_14

强大的网络抓包神器——Wireshark_传输层_15


总结

wireshark 是一款功能强大的抓包软件,如果只从接口来说,功能上不如 fiddler。但如果从网络来说,wireshark 的功能更加强大,可以分析的内容更多,建议大家可以学习了解一下。


下期将会给大家带来一个全新的专题分享,敬请期待~

欢迎各位关注、留言,大家的支持就是我的动力!