云计算百科
云计算领域专业知识百科平台

学习黑客抓包wireshark

Wireshark 实用技巧 🚀🔍

短短几分钟,掌握 Wireshark 全能分析利器!💡 风格:吴恩达式清晰解说,配表 + emoji,入门到进阶。

📄 目录

  • 🕵️‍♂️ 捕获过滤 vs 显示过滤
  • 🎨 Profiles & 颜色规则
  • 🔄 Follow Stream(会话追踪)
  • 📊 IO Graph & Flow Graph
  • 🧠 专家信息(Expert Info)
  • 🗃️ 导出 & 保存数据包
  • 💻 Tshark CLI 自动化
  • 🚀 进阶小技巧
  • 🏁 总结

  • 1. 🕵️‍♂️ 捕获过滤 vs 显示过滤

    在 Wireshark 中,过滤是分析的第一步。

    在这里插入图片描述

    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b3b9f87065d743749f2bfe42427f7d46.png

    类型位置示例作用
    捕获过滤 Capture 选项 port 80 限制抓包内容,减少磁盘/内存消耗
    显示过滤 显示过滤栏 ip.addr==192.168.1.1 && http 只展示符合条件的数据包,快速定位
    • 捕获过滤在抓包前生效,可显著降低数据量
    • 显示过滤在抓包后使用,可灵活组合条件,多用逻辑操作符 &&、|| 在这里插入图片描述

    2. 🎨 Profiles & 颜色规则

    利用 Profiles 和颜色,一键切换场景、提高可读性。

    • Profiles: 创建不同分析场景(如 HTTP 分析、TCP 时序)配置文件,快速加载偏好设置
    • 颜色规则: 通过 View → Coloring Rules,高亮关键协议或异常数据包
    功能作用
    Profile 新建 快速加载自定义列、过滤、颜色等配置
    颜色规则设置 一目了然地标记不同协议或异常报文

    3. 🔄 Follow Stream(会话追踪)

    快速还原 TCP/HTTP 会话,查看端到端数据流。

  • 选中数据包 → Analyze → Follow → TCP Stream 或 HTTP Stream
  • 在流窗口内,可切换请求/响应,对话内容一览无余
  • 场景示例:重组 HTTP 请求,快速提取敏感信息或调试 API 交互


    4. 📊 IO Graph & Flow Graph

    可视化统计,洞察流量趋势和通信结构。

    • IO Graph: Statistics → IO Graphs,绘制流量随时间波动图,监测泛洪攻击或带宽瓶颈
    • Flow Graph: Statistics → Flow Graph,展示主机间的包交换序列,直观捕获重传和分片情况
    图表类型用途
    IO Graph 流量趋势、带宽监控
    Flow Graph 通信流程、重传/分片可视化

    5. 🧠 专家信息(Expert Info)

    自动化发现异常报文,减少手动分析时间。

    • 在菜单栏选择 Analyze → Expert Information
    • 分级展示 Notes/Warnings/Errors,快速定位可能的网络异常或协议错误

    6. 🗃️ 导出 & 保存数据包

    按需导出分析结果,便于分享与归档。

    • 保存过滤后数据包: File → Export Specified Packets(Save displayed packets)
    • 导出对象: File → Export Objects → HTTP/TCP,提取文件、图片等

    Tshark 是 Wireshark 的命令行版本,能够在无 GUI 环境下完成抓包、过滤、统计和导出等操作,并且支持与脚本或定时任务无缝结合来实现自动化监控和批量分析。以下内容将从安装、基础用法到脚本化示例和定时执行,循序渐进地介绍如何在生产和研发环境中高效利用 Tshark。

    7. 💻 Tshark CLI 自动化

    7.1 安装与版本校验

    • 使用系统包管理器安装:

      # Debian/Ubuntu
      sudo apt update && sudo apt install tshark
      # CentOS/RHEL
      sudo yum install wireshark-cli

      (HackerTarget.com) (Opensource.com)

    • 校验版本与帮助信息:

      tshark -v # 查看版本号
      tshark -h # 显示帮助选项

      (Wireshark)

    7.2 基本抓包命令 & 环形缓存

    • 实时抓包并保存到文件:

      tshark -i eth0 -w /path/to/output.pcap

      (CellStream, Inc.)

    • 使用环形缓冲(Ring Buffer)控制文件大小与数量:

      tshark -i eth0 \\
      -b filesize:1000 -b files:5 \\
      -w /path/to/rotating.pcap

      上例生成 5 个每个 1 MB 的循环文件,可防止单文件过大 (Wireshark) (LabEx)

    7.3 过滤与导出

    • 捕获时使用 BPF 过滤器减少数据量:

      tshark -i eth0 -f "tcp port 80"

      (Active Countermeasures)

    • 读取已有文件并应用显示过滤器:

      tshark -r capture.pcap -Y "http.request && ip.src==192.168.1.10"

      (Anto ./online)

    • 导出特定对象(例如 HTTP 文件、DICOM):

      tshark -r capture.pcap \\
      –export-objects http,/tmp/extracted_http \\
      -q

      (jalblas.com)

    7.4 脚本化示例

    • 简单 Bash 脚本:

      #!/bin/bash
      OUTDIR="/var/log/tshark-$(date +%Y%m%d_%H%M%S)"
      mkdir -p "$OUTDIR"
      # 抓取 5 分钟
      timeout 300 tshark -i eth0 -w "$OUTDIR/out.pcap"
      # 生成 CSV 报表
      tshark -r "$OUTDIR/out.pcap" \\
      -T fields -e frame.number -e ip.src -e ip.dst -e frame.len \\
      > "$OUTDIR/summary.csv"

      (Wireshark问答) (Stack Overflow)

    • Python 调用示例:

      import subprocess, datetime
      filename = f"capture_{datetime.datetime.now():%Y%m%d_%H%M%S}.pcap"
      cmd = ["tshark","-i","eth0","-a","duration:60","-w",filename]
      subprocess.run(cmd)

      (Stack Overflow)

    7.5 集成与定时执行

    • 使用 cron 定时任务:

      # 每小时执行一次脚本
      0 * * * * /usr/local/bin/tshark_capture.sh

      (树莓派论坛)

    • 在 CI/CD 或监控平台中调用,结合邮件/告警系统:

      ./tshark_capture.sh && \\
      mail -s "Tshark 报告" ops@example.com < summary.csv

      (LabEx)


    以上即为在无 GUI 环境中使用 Tshark 进行抓包与分析,并将其脚本化、定时执行的实践指南。希望能帮助你在服务器、容器或自动化测试中轻松部署网络监控与取证流程。


    8. 🚀 进阶小技巧

    以下为若干实战中鲜为人知但非常实用的技巧,帮助你在高阶分析中游刃有余。

    8.1 自定义列 & 导出 CSV

    • 快速添加任意字段为列:在 Packet Details 窗格中,右键点击任意字段并选择 “Apply as Column” 即可将其变成一列展示,大大简化繁琐筛选工作 。
    • 导出列数据为 CSV:使用 File → Export Packet Dissections → As CSV 将当前列数据导出为 CSV 文件,便于后期数据处理和报表制作 。

    8.2 TLS/SSL 解密

    • 加载 (Pre)-Master Secret 日志:在 Edit → Preferences → Protocols → TLS 中设置 (Pre)-Master-Secret log filename 即可对支持 Diffie-Hellman 的 TLS 会话进行解密。
    • 使用 RSA 私钥解密:在相同 Preferences 界面可加载服务器私钥,仅支持 RSA 密钥交换场景,适用于历史遗留系统 。

    8.3 Lua 脚本 & 自定义 Dissector

    • 快速扩展协议解析:借助 Lua 脚本,你可在 $HOME/.wireshark/plugins 路径下放置 .lua 文件,实现对自定义协议的精准解析 。
    • 示例调用:通过 dissector:call(buf(offset):tvb(), pkt, tree) 即可链式解析子协议,轻松处理复杂报文结构。

    8.4 合并 & 比较多个抓包文件

    • 命令行合并:使用 mergecap -w merged.pcap input1.pcap input2.pcap 可按时间戳顺序将多个文件合并 。
    • GUI 合并:在 Wireshark 中打开首个文件后,通过 File → Merge 或拖拽其他文件至窗口即可交互式合并 。
    • 对比分析:借助 editcap -A timestamp1 -B timestamp2 等工具截取特定时间段进行差异比对 。

    8.5 Packet Comment & Marking

    • 添加 & 展示注释:右键报文列表选择 Packet Comment…(Ctrl+Alt+C)进行注释,可在 pcapng 文件中持久保存 。
    • 显示注释列:新增自定义列,字段选择 frame.comment 或 pkt_comment 即可将评论内容或布尔值展示为新列 。
    • 标记关键报文:使用中键点击或 Edit → Mark/Unmark Selected 标记报文,使其高亮并便于快速导航 。

    8.6 时间偏移 & 时区校正

    • 设置时间参考点:通过 Edit → Set Time Reference(Ctrl+T)可将选中报文设为时间 0 点,其后所有报文以相对时间显示 。
    • 整体时间偏移:使用 Edit → Time Shift…(Ctrl+Shift+T)为所有报文批量应用固定或线性偏移,可用于校正时钟漂移或同步多机抓包 。
    • 切换时间格式:在 View → Time Display Format 中灵活切换绝对时间、年天时间、相对时间等视图,满足不同场景需求 。

    8.7 远程 & 实时捕获

    • 远程抓包:Wireshark 支持通过 sshpipe、RPCAP(Remote Packet Capture Protocol)对远程设备抓包,结合 Capture Options → Remote Interfaces 配置即可实时分析。
    • 管道输入:在 Linux 中可利用 ssh user@host tcpdump -w – 'port 80' | wireshark -k -i – 直接抓取并分析远程流量,省去文件中转步骤 。

    以上 7 大进阶小技巧,将让你的 Wireshark 使用更加灵活高效。快打开抓包文件逐条实践吧!


    9.🏁 总结

    一句话总结: Wireshark 从灵活的捕获/显示过滤、Profiles 与颜色规则、会话追踪、图表可视化、专家信息,到 Tshark 命令行自动化及 Lua 自定义等进阶功能,为网络流量分析和故障排查提供了全方位、可视化且可自动化的解决方案

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 学习黑客抓包wireshark
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!