news 2026/10/1 17:11:39

《Wireshark实战(三):命令行抓包与离线包分析实战》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《Wireshark实战(三):命令行抓包与离线包分析实战》

前言

在云计算生产环境中,Linux 云主机通常没有图形界面,我们无法使用 Wireshark 的图形界面。此时,掌握命令行抓包工具(如tshark/tcpdump)和离线包分析技能,是云计算架构师排查网络故障的必备生存技能。本文记录了我使用tshark(Wireshark 自带的命令行工具,玩法与 Linux 下的tcpdump一致)的实操过程。

一、 命令行环境准备与抓包

由于tshark在 Windows PowerShell 下直接运行会报错(安全策略限制),需使用.\前缀。

查看网卡编号:

.\tshark -D

记住你上网的网卡编号(如 WLAN 为5,以太网为9)。

命令行抓包并保存:

.\tshark -i 5 -w test.pcap

参数解读:-i指定网卡,-w写入文件。运行后按Ctrl+C停止抓包。

二、 离线包分析实战

拿到test.pcap文件后,我们不用打开 Wireshark 图形界面,直接在命令行进行分析。

查看文件体检报告:

.\capinfos test.pcap

可以快速得知包数量、文件大小、平均带宽等核心指标。

读取文件并过滤:

.\tshark -r test.pcap -Y "dns"

-r读取文件,-Y使用显示过滤器(语法与图形界面完全一致)。这里会精准打印出 DNS 查询记录,能清晰看到 CDN 的 CNAME 解析链条。

抓取 TCP 握手包:

.\tshark -r test.pcap -Y "tcp.port == 443" -c 10

过滤 443 端口,-c 10表示只显示前 10 个匹配包。可以完美还原 TCP 三次握手过程(SYN、SYN+ACK、ACK)及 TLS 参数协商。

三、 踩坑复盘(避坑指南)

  • 坑1:PowerShell 无法运行 tshark。报错无法将“tshark”项识别为 cmdlet...。

    • 解决:在命令前加上.\,如.\tshark -D。

  • 坑2:-c参数导致的过滤空屏。使用tshark -r test.pcap -Y "dns" -c 10时可能没有输出。

    • 解决:读取文件时,-c 10表示只读取文件的前 10 个包,如果前 10 个包里没有 DNS,就会直接退出。建议去掉-c直接过滤,或者使用| head限制输出行数。

    • 四、 云架构师视角:云端排障标准动作

      在云服务器上,你无法装图形界面,标准排障流程如下:

    • 云端抓包:在 Linux 云主机执行tcpdump -i eth0 -w /tmp/problem.pcap。

    • 拉回本地:使用scp或 SFTP 将.pcap文件下载到本地。

    • 分析排障:使用本地 Wireshark 图形界面(看时间序列图、专家信息)或tshark命令行进行深度分析。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 17:09:53

PyTorch+OCR实现火车车厢号识别:从检测到部署

简介:面向铁路货运管理、物流追踪与智能交通等对识别效率与精度要求较高的应用场景,这套基于PyTorch框架的OCR深度学习方案,专门解决火车车厢编号的自动识别与提取问题。从图像批量预处理、文字区域检测到序列识别,代码覆盖了完整…

作者头像 李华
网站建设 2026/10/1 17:08:25

AgentScope Java 实战 04:互通层——A2A 协作与 Nacos 接线

03 篇结尾留了一句话:主干还剩最后一篇。这篇补上互通层——Agent 对外暴露成 A2A 服务、按需调用远端 Agent,以及 Nacos 的 Prompt / Card / Skill 三条 AI 通道和它们的现实限制。这也是本系列主干(01-04)的收尾篇。前三篇把单个…

作者头像 李华
网站建设 2026/10/1 17:07:09

Go CI/CD:GitHub Actions 与 GitLab CI 全流程实战

Go CI/CD:GitHub Actions 与 GitLab CI 全流程实战高效 CI/CD 是研发心脏。本文以两个主流平台为案例,从语言环境到多阶段流水线讲透。一、GitHub Actions 基础 .github/workflows/go.yml: name: Go on: [push, pull_request]jobs:test:runs-…

作者头像 李华