wireshark介绍和使用

Wireshark 介绍

Wireshark 是一款开源的 网络协议分析工具(Packet Sniffer),用于捕获和分析网络数据包。它支持多种协议解析,适用于网络调试、安全分析、网络教学等场景。

官网:https://www.wireshark.org/

特点:

✔ 跨平台(Windows/macOS/Linux)

✔ 支持 2000+ 种协议解析

✔ 图形化界面 + 命令行工具(tshark)

✔ 可实时抓包或分析离线抓包文件(.pcap)

📌 Wireshark 基本使用

  1. 安装 Wireshark
    Windows:官网下载安装包,安装时勾选 WinPcap/Npcap(抓包驱动)。

Linux(Debian/Ubuntu):

bash

sudo apt install wireshark

sudo usermod -aG wireshark $USER # 让当前用户有权限抓包

macOS:通过 brew 安装:

bash

brew install wireshark

  1. 选择网卡 & 开始抓包

启动 Wireshark,选择要监听的网络接口(如 eth0、Wi-Fi)。

https://www.wireshark.org/docs/wsug_html/_images/wsug_graphics/capture_interfaces.png

点击 "Start" 开始抓包。

停止抓包:点击红色方块按钮。

  1. 过滤数据包
    Wireshark 支持强大的过滤语法,快速定位关键流量:

只显示 HTTP 流量:

text

http

过滤特定 IP:

text

ip.src == 192.168.1.1 || ip.dst == 192.168.1.1

过滤 TCP 端口(如 443):

text

tcp.port == 443

组合条件:

text

http and ip.src == 192.168.1.100

  1. 分析数据包

点击数据包:查看协议层级(如 Ethernet → IP → TCP → HTTP)。

Follow TCP Stream(右键数据包 → Follow → TCP Stream):查看完整会话(如 HTTP 请求/响应)。

统计工具:

Statistics → Protocol Hierarchy:流量协议分布。

Statistics → Conversations:查看通信对端(IP/端口)。

  1. 保存 & 导出数据
    保存抓包文件:
    File → Save As...(格式:.pcap 或 .pcapng)。

导出特定数据:

右键数据包 → Export Packet Bytes(可提取文件、图片等)。

🔧 高级功能

  1. 命令行抓包(tshark)

    bash

    tshark -i eth0 -f "tcp port 80" -w output.pcap # 抓取 HTTP 流量

    tshark -r input.pcap -Y "http" # 读取 pcap 文件并过滤

  2. 解密 HTTPS 流量

    需配置浏览器或服务器导出的 SSL/TLS 密钥:

    Edit → Preferences → Protocols → TLS → (Pre)-Master-Secret log filename

  3. 自定义协议解析

    使用 Lua 脚本扩展协议解析:

    Tools → Lua Console

示例脚本目录:/usr/share/wireshark/plugins/

⚠️ 注意事项

合法使用:未经授权抓取他人网络流量可能违法!

性能影响:高速网络下抓包可能导致丢包,可调整缓冲大小。

隐私保护:避免捕获敏感信息(如密码),抓包后及时清理。

📚 学习资源

官方文档:Wireshark User's Guide

书籍推荐:

《Wireshark网络分析实战》

《Wireshark抓包艺术》

💡 总结

基础流程:选择网卡 → 抓包 → 过滤 → 分析。

高级技巧:命令行抓包、HTTPS 解密、自定义协议。

适用场景:网络故障排查、安全分析、协议学习。

相关推荐
油丶酸萝卜别吃8 分钟前
nginx配置代理服务器
运维·网络·nginx
伯恩bourne2 小时前
MIME(多用途互联网邮件扩展)
网络·网络协议
运维行者_2 小时前
使用Applications Manager进行 Apache Solr 监控
运维·网络·数据库·网络安全·云计算·apache·solr
蝸牛ちゃん3 小时前
大型软件需求变更管理:从混沌到可控的工程化实践
网络·需求分析·变更管理·需求变更
Mr_Xuhhh5 小时前
传输层协议TCP(3)
运维·服务器·网络·网络协议·tcp/ip·http·https
lsnm5 小时前
【LINUX网络】HTTP协议基本结构、搭建自己的HTTP简单服务器
linux·运维·服务器·c语言·网络·c++·http
SKYDROID云卓小助手8 小时前
三轴云台之控制信号解析与执行
运维·服务器·网络·人工智能·信号处理
板鸭〈小号〉8 小时前
Linux网络基础(一)
linux·网络·智能路由器
kebeiovo8 小时前
I/O多路复用特性与实现
网络
测试开发Kevin9 小时前
详解grafana k6 中stage的核心概念与作用
测试工具·压力测试·grafana