wireshark如何扑捉无线局域网数据?如何使用wireshark抓取单个应用软件的数据包?

wireshark如何扑捉无线局域网数据?如何使用wireshark抓取单个应用软件的数据包?

这篇文章算比较全了,很多问题都在下面的教程里有了

wireshark如何扑捉无线局域网数据?为什么wireshark无法抓取http包?如何使用wireshark抓取单个应用软件的数据包?用 wireshark抓包工具能做到哪些有趣的事情?能找到这款软件的基本都是程序员和测试,其它人用这款的少,当然有的自媒体博主也可能会用到,还有其它职业我没想到,因为我是程序员,所以比较熟悉这款。

wireshark是什么?

wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark是开源软件,可以放心使用。可以运行在Windows和Mac OS上。对应的,linux下的抓包工具是 tcpdump。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

但我觉的能来我这里看的估计都会用了,应该也有准备用的,所以这就是我准备这篇文章的目的。

下载地址获取点击这获取:抓包工具合集

第一步 安装驱动库前提条件:必须安装捕获网络适配器数据所需的驱动库。

Win10Pcap(仅适用Win10的WinPcap),Windows11无需安装。

这里已经提供了,在Wireshark文件夹中。点击【npcap-1.50.exe】即可完成Npcap安装。

第二步 选择网卡网卡非常多,不知道选择哪个?看这个有数据波动的就知道是正在使用的有效网卡。

什么场景下要用到?网络工程师 / 运维工程师会使用wireshark来检查网络问题 软件开发工程师(尤其是网络相关开发)使用wireshark抓包,来分析自己测试的软件 从事socket编程的工程师会用wireshark来调试 运维人员用于日常工作,应急响应等等 IT 支持 / 桌面运维工程师 计算机 / 网络相关专业学生 高校或科研机构的研究人员,使用 Wireshark 进行网络相关课题研究 Wireshark 的抓包能力并非“直接读取网络数据”,而是依赖操作系统底层的网络数据包捕获机制,配合自身的协议解析引擎实现。其核心原理可拆解为“数据包捕获”和“数据包解析”两大环节,前者负责“拿到数据”,后者负责“看懂数据”。 |

Wireshark 抓包原理全景图准备阶段:Wireshark 调用捕获驱动(如 Npcap/libpcap),将网卡切换到混杂模式,设置捕获过滤器。捕获阶段:驱动在内核态拦截网卡的原始数据包,按过滤器筛选后,传递给 Wireshark 并暂存。解析阶段:Wireshark 按 TCP/IP 分层逻辑,调用对应协议的解析器,将二进制数据翻译为可读字段。展示阶段:用户通过显示过滤器筛选所需数据,查看解析后的字段(如 IP 地址、端口、HTTP 内容),或导出数据用于分析。本质上,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

WireShark 主要分为这几个界面Display Filter(显示过滤器), 用于设置过滤条件进行数据包列表过滤。菜单路径:Analyze --> Display Filters。image

Packet List Pane(数据包列表), 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。 不同协议的数据包使用了不同的颜色区分显示。image

Packet Details Pane(数据包详细信息), 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为(1)Frame: 物理层的数据帧概况

(2)Ethernet II: 数据链路层以太网帧头部信息

(3)Internet Protocol Version 4: 互联网层IP包头部信息

(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP

(5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

image

TCP包的具体内容从下图可以看到wireshark捕获到的TCP包中的每个字段。

image

Dissector Pane(数据包字节区)。

Wireshark过滤器设置1、根据源 IP 地址过滤主机当我们想要查找属于某个发送者的所有数据包时,我们会使用下面的过滤器。

代码语言:javascript复制ip.src==23.217.250.58每当我们在过滤命令框中输入任何命令时,如果命令正确,它就会变成绿色。否则,它会变成红色。

image

2、根据目标 IP 地址过滤主机可以使用类似的过滤器来查找目标主机(接收者)。

代码语言:javascript复制ip.dst == 192.168.1.4image

3、过滤两个主机之间的对话有时,我们只需要关注两个主机之间的数据包。我们将使用下面的过滤器。

代码语言:javascript复制ip.addr eq 192.168.1.4 and ip.addr eq 23.217.250.58image

4、过滤发往或来自特定 IP 的数据包当我们想要查找所有进出某个主机的数据包时,我们会使用下面的过滤器。

代码语言:javascript复制ip.addr == 192.168.1.4image

5、过滤子网Wireshark 允许您指定网络及其子网长度。当我们想要查看进出网络的数据包时,我们需要该过滤器。

添加图片注释,不超过 140 字(可选)

6、过滤 IP 地址范围当我们需要过滤仅属于几个主机的数据包时。我们将使用下面的过滤器。

代码语言:javascript复制ip.addr >192.168.1.0 and ip.addr <192.168.1.10添加图片注释,不超过 140 字(可选)

7、过滤主机或子网有些主机可能会产生大量的数据包,这会分散我们在故障排除时的注意力。我们使用以下显示过滤器来显示所有在源或目标字段中不包含特定 IP 的数据包。

代码语言:javascript复制为了过滤掉host: !(ip.addr==192.168.1.4)

相同的逻辑也可用于过滤子网: !(ip.addr==192.168.1.4/24)8、过滤大于 1500 字节的数据包(默认 MTU 大小)网络 MTU 大小经常是问题的根源。因此,我们可能需要检查是否有大于默认 MTU 大小的数据包。

代码语言:javascript复制ip.len > 1500添加图片注释,不超过 140 字(可选)

9、过滤不应分片的数据包某些应用程序不希望其数据包在网络中被碎片化。当路径上的设备(路由器、防火墙、交换机等)收到这些数据包时,它们会检查这些数据包是否大于 MTU 大小,如果是,设备会丢弃这些数据包,从而导致故障。可以使用以下过滤器。

代码语言:javascript复制ip.flags.df == 1添加图片注释,不超过 140 字(可选)

10、过滤损坏的数据包16 位报头校验和字段用于 IPv4 报头的错误检查。在传输过程中,数据包的 IP 报头可能会损坏,从而导致数据包丢失。校验和用于检测损坏的数据包。下面的过滤器可用于查找这些数据包。

代码语言:javascript复制ip.checksum_bad.expert当 IP 校验和被卸载时,可以在 Wireshark 中看到相同的警告,这意味着数据包没有损坏。

添加图片注释,不超过 140 字(可选)

11、过滤广播和多播数据包广播或多播风暴是指短时间内广播数据包数量异常高,导致网络故障。检查这些数据包的比例可以了解风暴和网络环路。以下过滤器用于查找多播和广播数据包。

代码语言:javascript复制(eth.dst.lg == 1)或(eth.addr == ff:ff:ff:ff:ff:ff)添加图片注释,不超过 140 字(可选)

12、仅过滤 IPv4 数据包有时,我们需要过滤掉广播、多播、IPv6 数据包,以便我们专注于相关数据包。下面的过滤器用于仅显示 IPv4 数据包。

代码语言:javascript复制ip添加图片注释,不超过 140 字(可选)

13、仅过滤 IPv6 数据包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 字(可选)

最近分享的都比较简单就是照着图片操作就行了,不过确实有的同学不太会,算是电脑小白吧,所以不得不发一些操作方法,这个操作方法多了,就得自己慢慢看了。

如果觉的对你有帮助就收藏点个赞,小编每次看到收藏点赞了,都感觉鸡血来了,可以再写几篇文章,虽然你也不会看。

相关数据

迷你世界怎么得商人
mobileBET365

迷你世界怎么得商人

⌛ 12-05 👁️‍🗨️ 5620
内存不足被迫换手机?OPPO内存升级服务上线,一键解决内存焦虑
365BET是不是上市了

内存不足被迫换手机?OPPO内存升级服务上线,一键解决内存焦虑

⌛ 08-31 👁️‍🗨️ 8304
2英尺等于多少寸?
365BET是不是上市了

2英尺等于多少寸?

⌛ 09-08 👁️‍🗨️ 7395
拨打客服电话有多难?实测26款App仅5款可直接联系人工客服
365BET是不是上市了

拨打客服电话有多难?实测26款App仅5款可直接联系人工客服

⌛ 07-22 👁️‍🗨️ 895