
这篇文章算比较全了,很多问题都在下面的教程里有了
能找到这款软件的基本都是程序员和测试,其它人用这款的少,当然有的自媒体博主也可能会用到,还有其它职业我没想到,因为我是程序员,所以比较熟悉这款。
wireshark是什么?
wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。
wireshark是开源软件,可以放心使用。可以运行在Windows和Mac OS上。对应的,linux下的抓包工具是 tcpdump。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。
但我觉的能来我这里看的估计都会用了,应该也有准备用的,所以这就是我准备这篇文章的目的。
点击这获取:抓包工具合集
第一步 安装驱动库前提条件:必须安装捕获网络适配器数据所需的驱动库。
Win10Pcap(仅适用Win10的WinPcap),Windows11无需安装。
这里已经提供了,在Wireshark文件夹中。点击【npcap-1.50.exe】即可完成Npcap安装。
第二步 选择网卡网卡非常多,不知道选择哪个?看这个有数据波动的就知道是正在使用的有效网卡。
Wireshark 的抓包能力并非“直接读取网络数据”,而是依赖操作系统底层的网络数据包捕获机制,配合自身的协议解析引擎实现。其核心原理可拆解为“数据包捕获”和“数据包解析”两大环节,前者负责“拿到数据”,后者负责“看懂数据”。 |
本质上,Wireshark 是“底层捕获驱动”与“上层解析引擎”的结合体——前者负责“拿到原始数据”,后者负责“让数据变易懂”,最终实现“看透网络通信”的核心价值。

image
权限与驱动是前提:管理员权限决定能否开启混杂模式(捕获局域网所有流量),不同系统依赖专属驱动(Npcap/libpcap)实现底层数据拦截;
捕获过滤器(内核态):提前 “过滤无效数据”,减少资源占用;
显示过滤器(用户态):事后 “筛选关注数据”,不影响原始捕获结果;
分层解析是核心:从底层到上层逐层拆解二进制数据,最终将 “01 字节流” 转化为人类可理解的 “IP 地址、端口、HTTP 请求” 等信息。
1、打开wireshark,主界面如下:

image
2、选择菜单栏上Capture -> Option,勾选WLAN网卡(这里需要根据各自电脑网卡使用情况选择,简单的办法可以看使用的IP对应的网卡)。点击Start。启动抓包。

image
3、wireshark启动后,wireshark处于抓包状态中。

image
4、执行需要抓包的操作,如ping www.baidu.com。

image
5、操作完成后相关数据包就抓取到了。为避免其他无用的数据包影响分析,可以通过在过滤栏设置过滤条件进行数据包列表过滤,获取结果如下。说明:ip.addr == 119.75.217.26 and icmp 表示只显示ICPM协议且源主机IP或者目的主机IP为119.75.217.26的数据包。

image
说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏View --> Coloring Rules。如下所示

image

image

image
(1)Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3)Internet Protocol Version 4: 互联网层IP包头部信息
(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
(5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

image
从下图可以看到wireshark捕获到的TCP包中的每个字段。

image
Dissector Pane(数据包字节区)。
当我们想要查找属于某个发送者的所有数据包时,我们会使用下面的过滤器。
ip.src==23.217.250.58每当我们在过滤命令框中输入任何命令时,如果命令正确,它就会变成绿色。否则,它会变成红色。

image
可以使用类似的过滤器来查找目标主机(接收者)。
ip.dst == 192.168.1.4
image
有时,我们只需要关注两个主机之间的数据包。我们将使用下面的过滤器。
ip.addr eq 192.168.1.4 and ip.addr eq 23.217.250.58
image
当我们想要查找所有进出某个主机的数据包时,我们会使用下面的过滤器。
ip.addr == 192.168.1.4
image
Wireshark 允许您指定网络及其子网长度。当我们想要查看进出网络的数据包时,我们需要该过滤器。

添加图片注释,不超过 140 字(可选)
当我们需要过滤仅属于几个主机的数据包时。我们将使用下面的过滤器。
ip.addr >192.168.1.0 and ip.addr <192.168.1.10
添加图片注释,不超过 140 字(可选)
有些主机可能会产生大量的数据包,这会分散我们在故障排除时的注意力。我们使用以下显示过滤器来显示所有在源或目标字段中不包含特定 IP 的数据包。
为了过滤掉host: !(ip.addr==192.168.1.4)
相同的逻辑也可用于过滤子网: !(ip.addr==192.168.1.4/24)网络 MTU 大小经常是问题的根源。因此,我们可能需要检查是否有大于默认 MTU 大小的数据包。
ip.len > 1500
添加图片注释,不超过 140 字(可选)
某些应用程序不希望其数据包在网络中被碎片化。当路径上的设备(路由器、防火墙、交换机等)收到这些数据包时,它们会检查这些数据包是否大于 MTU 大小,如果是,设备会丢弃这些数据包,从而导致故障。可以使用以下过滤器。
ip.flags.df == 1
添加图片注释,不超过 140 字(可选)
16 位报头校验和字段用于 IPv4 报头的错误检查。在传输过程中,数据包的 IP 报头可能会损坏,从而导致数据包丢失。校验和用于检测损坏的数据包。下面的过滤器可用于查找这些数据包。
ip.checksum_bad.expert当 IP 校验和被卸载时,可以在 Wireshark 中看到相同的警告,这意味着数据包没有损坏。

添加图片注释,不超过 140 字(可选)
广播或多播风暴是指短时间内广播数据包数量异常高,导致网络故障。检查这些数据包的比例可以了解风暴和网络环路。以下过滤器用于查找多播和广播数据包。
(eth.dst.lg == 1)或(eth.addr == ff:ff:ff:ff:ff:ff)
添加图片注释,不超过 140 字(可选)
有时,我们需要过滤掉广播、多播、IPv6 数据包,以便我们专注于相关数据包。下面的过滤器用于仅显示 IPv4 数据包。
ip
添加图片注释,不超过 140 字(可选)
IPv6 是“Internet 协议版本 6”的缩写。IPv6 是 IETF 设计的“下一代”协议,用于取代当前的 Internet 协议版本、IP 版本 4 或 IPv4。当使用高流量链接时,我们可能需要仅过滤 IPv6 流量。以下过滤器可用于此目的。

添加图片注释,不超过 140 字(可选)
初学者使用wireshark时,将会得到大量的冗余数据包列表,以至于很难找到自己自己抓取的数据包部分。wireshar工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
(1)抓包过滤器
捕获过滤器的菜单栏路径为Capture --> Capture Filters。用于在抓取数据包前设置。

添加图片注释,不超过 140 字(可选)
如何使用?可以在抓取数据包前设置如下。

添加图片注释,不超过 140 字(可选)
ip host 60.207.246.216 and icmp表示只捕获主机IP为60.207.246.216的ICMP数据包。获取结果如下:

添加图片注释,不超过 140 字(可选)
(2)显示过滤器
显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。通常是在抓取数据包时设置条件相对宽泛,抓取的数据包内容较多时使用显示过滤器设置条件顾虑以方便分析。同样上述场景,在捕获时未设置捕获规则直接通过网卡进行抓取所有数据包,如下

添加图片注释,不超过 140 字(可选)
执行ping www.huawei.com获取的数据包列表如下

添加图片注释,不超过 140 字(可选)
观察上述获取的数据包列表,含有大量的无效数据。这时可以通过设置显示器过滤条件进行提取分析信息。ip.addr == 211.162.2.183 and icmp。并进行过滤。

添加图片注释,不超过 140 字(可选)
最近分享的都比较简单就是照着图片操作就行了,不过确实有的同学不太会,算是电脑小白吧,所以不得不发一些操作方法,这个操作方法多了,就得自己慢慢看了。
如果觉的对你有帮助就收藏点个赞,小编每次看到收藏点赞了,都感觉鸡血来了,可以再写几篇文章,虽然你也不会看。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。