Wireshark怎么用
好的!Wireshark 是一款功能强大的开源 网络协议分析器(俗称抓包工具)。它允许你捕获网络接口上的数据包,并以非常详细的方式解析、展示这些数据包的内容,用于网络故障排除、分析、协议学习、安全检测等。
以下是如何使用 Wireshark 的基本步骤(中文详解):
核心步骤:捕获 -> 分析 -> 过滤
一、 安装与准备
-
下载安装:
- 访问 Wireshark 官网:
https://www.wireshark.org/download.html - 下载对应你操作系统(Windows, macOS, Linux)的安装包。
- 安装时注意勾选安装 Npcap 或 WinPcap(Windows 需要,用于底层抓包驱动)。Linux/macOS 通常使用
libpcap。 - 安装完成,可能需要重启。
- 访问 Wireshark 官网:
-
管理员/root 权限:
- 在 Windows 上,首次启动可能需要以管理员身份运行 Wireshark,因为它需要访问网络接口。
- 在 Linux/macOS 上,通常需要使用
sudo启动(如sudo wireshark)或者将你的用户添加到允许抓包的用户组(如wireshark组)。
二、 捕获数据包
- 启动 Wireshark: 打开安装好的 Wireshark。
- 选择捕获接口:
- 主界面会列出你电脑上所有可用的网络接口(网卡)。
- 常见的包括:
Wi-Fi/无线网络连接: 无线网卡Ethernet/本地连接: 有线网卡Loopback: lo0/Adapter for loopback traffic capture: 本地环回接口(捕获本机内部通信,如访问127.0.0.1或localhost)。- 虚拟机网卡 (
VMnet1,VMnet8,vboxnet0等): 用于捕获虚拟机和宿主机之间的流量。
- 观察流量指示灯: 接口列表右侧通常有类似
?的柱状图,显示该接口当前数据流的活跃程度(柱越高表示流量越大)。
- 开始捕获:
- 双击你要捕获流量的接口(如
Wi-Fi)。 - 或者,先选中接口,然后点击左上角的蓝色鲨鱼鳍图标
。
- 立即开始: Wireshark 会立即开始捕获该接口上流过的所有数据包(混杂模式默认开启,会捕获网线上所有数据包,不仅仅是发给本机的)。
- 双击你要捕获流量的接口(如
- 触发网络活动: 在 Wireshark 捕获的同时,进行你想要分析的网络操作(比如打开一个网页、运行一个网络应用、ping 一个地址等)。
- 停止捕获: 当你觉得捕获到了足够的信息或者想要停止时,点击工具栏左上角的红色方块图标
停止捕获。
三、 分析捕获的数据包
停止捕获后,主界面会显示捕获到的所有数据包列表。这是分析的核心区域:
- 数据包列表窗格:
- 最上方窗格:按时间顺序列出所有捕获到的数据包。
- 关键列:
No.: 数据包序列号(捕获顺序)。Time: 捕获时间(相对于捕获开始或绝对时间)。Source: 数据包源 IP 地址或 MAC 地址。Destination: 数据包目标 IP 地址或 MAC 地址。Protocol: 数据包使用的最高层协议(如 TCP, UDP, HTTP, DNS, ICMP, ARP)。Length: 数据包长度(字节)。Info: 协议的简要信息摘要(如 HTTP 的 GET/POST 请求 URL,TCP 的标志位 SYN/ACK/FIN,DNS 查询域名等)。
- 数据包详情窗格:
- 中间窗格:当你点击列表中的一个数据包时,这里会显示该数据包的详细解析结构。
- 分层展示: Wireshark 按照网络协议栈逐层解析数据包(通常从上到下):
- 帧(Frame): 物理层信息(捕获时间、长度、接口等)。
- 以太网 II (Ethernet II) / IEEE 802.11: 数据链路层信息(源/目标 MAC 地址)。
- Internet Protocol Version 4 (IPv4) / IPv6: 网络层信息(源/目标 IP 地址、TTL、协议类型等)。
- Transmission Control Protocol (TCP) / User Datagram Protocol (UDP): 传输层信息(源/目标端口号、序列号、确认号、标志位、窗口大小等)。
- 应用层协议: (如 Hypertext Transfer Protocol (HTTP), Domain Name System (DNS), Simple Mail Transfer Protocol (SMTP) 等):包含应用层具体的数据内容(HTTP报文、DNS查询响应、邮件内容等)。
- 展开/折叠: 点击每层协议前面的小三角
▶可以展开查看该层协议头的每一个字段及其值。这是分析协议细节的关键。
- 数据包字节窗格:
- 最下方窗格:以十六进制(Hex) 和 ASCII 形式显示当前选中数据包的原始字节内容。
- 联动: 在详情窗格中选择某个字段时,字节窗格中对应的原始字节会高亮显示。反之,在字节窗格中选择一段字节,详情窗格中对应的协议字段也会被标记出来。
四、 过滤数据包(关键技能!)
捕获到的数据包往往非常多,过滤是找出你真正关心的数据包的核心技巧。
-
显示过滤器:
- 位置: 工具栏下方有一个长长的输入框,标记着
Apply a display filter...。 - 作用: 在已经捕获的数据包列表中,只显示符合过滤条件的数据包。不改变原始捕获数据。
- 常用过滤表达式(示例):
ip.addr == 192.168.1.100:显示所有源或目标 IP 是192.168.1.100的数据包。tcp.port == 80:显示所有源或目标端口是80(HTTP) 的数据包。udp.port == 53:显示所有源或目标端口是53(DNS) 的数据包。http:显示所有 HTTP 协议的数据包。dns:显示所有 DNS 协议的数据包。icmp:显示所有 ICMP 协议的数据包 (ping 包)。arp:显示所有 ARP 协议的数据包。tcp.flags.syn == 1:显示所有设置了 SYN 标志位的 TCP 包 (通常是 TCP 握手的第一步)。tcp contains "password":显示 TCP 负载中包含字符串 "password" 的数据包 (注意大小写)。!(arp or icmp or dns):显示除 ARP, ICMP, DNS 之外的所有数据包。ip.src == 10.0.0.1 and tcp.dstport == 443:显示源 IP 是10.0.0.1且目标端口是443(HTTPS) 的数据包。
- 应用/清除: 输入表达式后按
Enter应用。点击输入框右边的✕清除过滤器,显示所有数据包。 - 自动补全: Wireshark 支持自动补全,输入
ip.后按Tab键会弹出可能的字段列表。善用此功能! - 检查有效性: 输入过滤器时,输入框背景色:
- 绿色: 语法正确。
- 红色: 语法错误(无法应用)。
- 位置: 工具栏下方有一个长长的输入框,标记着
-
捕获过滤器:
- 位置: 在开始捕获之前,双击接口后弹出的“捕获选项”窗口里,有一个
Capture Filter输入框。也可以在启动时选择接口旁边的齿轮图标设置。 - 作用: 在数据包到达网卡时就进行过滤,只捕获符合条件的数据包到内存/文件中。效率更高,尤其在高流量环境,但设置错误会漏抓关键包。新手建议先不用或少用。
- 语法: 与显示过滤器类似但有区别(更底层,基于
tcpdump/BPF语法)。常用如:host 192.168.1.100:捕获与192.168.1.100相关的所有流量。port 80:捕获端口 80 的流量。tcp port 80:捕获 TCP 且端口 80 的流量。udp port 53:捕获 UDP 且端口 53 (DNS) 的流量。net 192.168.1.0/24:捕获整个192.168.1.x网段的流量。src host 10.0.0.1 and dst port 443:捕获源 IP 是10.0.0.1且目标端口是 443 的流量。
- 位置: 在开始捕获之前,双击接口后弹出的“捕获选项”窗口里,有一个
五、 常用高级操作
- 追踪流(Follow Stream):
- 作用: 将同一个会话(如一个 TCP 连接)中的所有相关数据包提取出来,并按顺序重组应用层数据(如整个 HTTP 请求响应过程、Telnet 会话、FTP 传输)。非常实用!
- 操作: 右键点击一个属于某个会话的数据包 (如 TCP 包) ->
Follow-> 选择流类型 (TCP Stream,HTTP Stream,UDP Stream等)。 - 结果: 会弹出一个新窗口,按顺序显示该流的所有数据(客户端发送和服务器响应的数据分别用不同颜色标出)。可以在这里看到清晰的 HTTP 请求头、响应头、HTML 内容(非 HTTPS 加密时)、Telnet 命令和回显等。窗口下方可以切换显示格式(ASCII, Hex, 原始数据等)。
- 保存捕获文件:
- 文件 -> 保存/文件 -> 另存为...: 将当前捕获的数据包保存为文件(默认
.pcapng格式,兼容性好)。 - 用途: 记录证据、后续分析、与他人共享分析。
- 文件 -> 保存/文件 -> 另存为...: 将当前捕获的数据包保存为文件(默认
- 打开捕获文件:
- 文件 -> 打开: 打开之前保存的
.pcap,.pcapng等格式的捕获文件进行分析。
- 文件 -> 打开: 打开之前保存的
- 统计信息:
- 统计菜单: 提供了丰富的统计功能:
捕获文件属性:文件基本信息。协议分级:按协议类型统计流量占比(非常直观,看哪种协议流量最大)。会话:查看所有通信会话(端点间的流量统计)。端点:查看所有通信端点(IP/MAC 地址)的流量统计。HTTP:统计 HTTP 请求方法、状态码、请求/响应包等。IO 图表:绘制流量随时间变化的图表(带宽利用率)。
- 统计菜单: 提供了丰富的统计功能:
- 着色规则:
- 视图 -> 着色规则: Wireshark 默认会根据协议或特定条件给数据包列表的行添加背景色(如 TCP SYN 包是浅蓝,HTTP 包是绿色)。可以修改或添加自己的规则,使关键信息更醒目。
- 专家信息:
- 分析 -> 专家信息: Wireshark 会自动检测捕获数据中的常见问题(如重复 ACK、重传、连接重置、校验和错误等),并在此窗口按等级(Error, Warn, Note...)列出。是排查网络问题的好帮手。
六、 应用场景示例
- 网络不通:
- 抓包看是否有 ARP 请求/响应?
- 尝试 ping 目标时,是否有 ICMP Request 发出?是否有 Reply 回来?没有回来的原因(目标主机无响应?中间路由丢弃?防火墙拦截?)。
- 网页打不开:
- 过滤
http and ip.addr == <网站IP>,看浏览器发出的 HTTP GET 请求是否正常?服务器是否返回了响应(如 200 OK 或 404)?响应内容是什么? - 或者先看 DNS (
dns) 解析该域名是否成功?
- 过滤
- 应用连接慢:
- 查看 TCP 握手 (
tcp.flags.syn==1,tcp.flags.ack==1) 时间是否过长? - 是否有大量的 TCP 重传 (
tcp.analysis.retransmission)?表明网络丢包严重。 Follow TCP Stream看整个交互过程哪里耗时。
- 查看 TCP 握手 (
- 排查恶意流量/安全分析:
- 寻找可疑 IP 地址的通信。
- 检查异常端口连接。
- 分析未知协议。
- 扫描是否存在敏感信息泄露 (
ftp登录密码 - 如果未加密,http请求中的密码明文等)。
- 学习网络协议:
- 亲手抓包,结合数据包详情窗格,直观理解 TCP 三次握手、HTTP 请求/响应格式、DNS 查询过程等协议如何工作。
重要提示
- 隐私与法律: 抓取网络流量可能包含他人的敏感信息(用户名、密码 - 特别是未加密的协议如 HTTP、FTP、Telnet)。仅在你有权限的网络(如自己的电脑、测试环境或获得明确授权的网络)上进行抓包,并遵守相关法律法规和公司政策。不要窥探他人隐私。
- HTTPS 加密: Wireshark 默认无法解密 HTTPS 流量(看到的是加密的 TLS 应用数据)。要解密需配置浏览器和 Wireshark 使用相同的会话密钥(SSLKEYLOGFILE),这通常用于调试自己的 HTTPS 应用。普通抓包无法解密他人的 HTTPS 流量。
- 混杂模式: 默认开启。在有线网络中,它能捕获网段内所有主机的流量(如果交换机不是端口镜像)。在无线网络中,它通常只能捕获到发送给本机或广播/组播的流量,要捕获其他主机的无线流量需要网卡支持监控模式和特定的驱动配置(更复杂)。
- 端口镜像: 要分析非本机流量(如交换机上其他端口的流量),需要在交换机上配置端口镜像(SPAN / Port Mirroring),将被监控端口的流量复制一份发送到连接 Wireshark 主机的端口上。
- 性能: 在高带宽网络上抓包可能消耗大量 CPU 和内存,并可能丢包。设置合适的捕获过滤器、写入文件、使用性能更强的硬件可以缓解。
总结: Wireshark 的使用流程就是:选接口 -> 开始抓 -> 进行操作 -> 停止抓 -> 用显示过滤器筛选 -> 在三个窗格里仔细分析数据包详情 -> 利用跟踪流、统计等功能深入挖掘。 多加练习,结合实际网络问题,你会越来越熟练。遇到具体问题,可以更有针对性地抓包和分析。
Wireshark抓包原理及使用教程
Wireshark使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。 「单机情况」下,Wireshark直接抓取本机网卡的网络流量; 「交换机情况
2023-11-19 15:05:49
WireShark的常用操作
WireShark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在网
2023-05-26 15:16:50
wireshark是什么软件 wireshark安装教程
Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像
资料下载
jf_94797912
2023-09-13 16:26:25
使用wireshark抓包分析TCP及UDP的资料详细说明
本文档的主要内容详细介绍的是使用wireshark抓包分析TCP及UDP的资料详细说明。
资料下载
佚名
2020-05-09 17:36:41
Wireshark抓包和Tcpdump抓包实例分析
wireshark是开源软件,可以放心使用。可以运行在Windows和Mac OS上。对应的,linux下的抓包工具是 tcpdump。使用wireshark的人必须了解网络协议,否则就看不懂
2023-02-01 09:31:19
用udp发送数据,电脑本机上接受的数据和发送的数据一样,但是用wireshark 监控数据完全不一样??
用udp发送数据,电脑本机上接受的数据和发送的数据一样,但是用wireshark 监控数据完全不一样??怎么处理数据,让
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机