network Command
tcpdump 抓包命令
Linux tcpdump 抓包排查网络问题的常用命令,tcpdump -i eth0 -nn 不解析主机名和端口名减少延迟,port 80/host 过滤按端口或 IP 抓包,-w capture.pcap 保存文件后用 Wireshark 分析,权限不够用 sudo 或 setcap cap_net_raw。
tcpdump -i eth0 -nn port 80 抓指定端口,-w 保存文件,结合 Wireshark 分析。
Scenario
什么时候用这组命令
这组命令适合在处理“tcpdump 抓包命令”时作为第一轮检查模板。使用时先替换占位符,再在目标机器或目标 namespace 中执行,避免在错误环境里得到误导结论。
Input
你需要先准备什么
- 先判断失败发生在 DNS、TCP、TLS、HTTP、代理还是应用层。
- 从客户端、服务端和中间代理所在机器分别测试,避免只验证了其中一段。
- 记录域名、解析结果、目标 IP、端口、协议和代理配置。
Risk Notes
执行风险
- 不要只凭浏览器提示判断网络根因,浏览器错误页往往只是结果而非原因。
- 不要长期关闭证书校验或把代理写死到全局配置,这会在故障排查时引入额外变量。
- 不要忽略 curl -v 中间阶段的细节,DNS 解析时间、TCP 握手延迟和 TLS 版本都可能隐藏问题。
Commands
命令详解
命令 1: 执行 tcpdump
用于补充“tcpdump 抓包命令”的排查证据链。tcpdump 的输出需要结合上下文其他命令交叉验证,不要单独依赖某一条结果下结论。
- 确认命令运行位置正确。
- 保留关键输出,方便和修复后对比。
tcpdump -i eth0 -nn命令 2: 执行 tcpdump
用于补充“tcpdump 抓包命令”的排查证据链。tcpdump 的输出需要结合上下文其他命令交叉验证,不要单独依赖某一条结果下结论。
- 确认命令运行位置正确。
- 保留关键输出,方便和修复后对比。
tcpdump -i eth0 -nn port 80命令 3: 执行 tcpdump
用于补充“tcpdump 抓包命令”的排查证据链。tcpdump 的输出需要结合上下文其他命令交叉验证,不要单独依赖某一条结果下结论。
- 确认命令运行位置正确。
- 保留关键输出,方便和修复后对比。
tcpdump -i eth0 -nn host 192.168.1.1命令 4: 执行 tcpdump
用于补充“tcpdump 抓包命令”的排查证据链。tcpdump 的输出需要结合上下文其他命令交叉验证,不要单独依赖某一条结果下结论。
- 确认命令运行位置正确。
- 保留关键输出,方便和修复后对比。
tcpdump -i eth0 -w capture.pcap命令 5: 执行 tcpdump
用于补充“tcpdump 抓包命令”的排查证据链。tcpdump 的输出需要结合上下文其他命令交叉验证,不要单独依赖某一条结果下结论。
- 确认命令运行位置正确。
- 保留关键输出,方便和修复后对比。
tcpdump -nn -r capture.pcapWorkflow
建议执行顺序
按顺序执行,不要跳过确认类命令
先用只读命令确认状态,再执行会改变状态的命令。tcpdump -i eth0 -nn port 80 抓指定端口,-w 保存文件,结合 Wireshark 分析。
- 用 -i 指定网卡,-nn 不解析域名和端口名。
- 用 port 80 按端口过滤,host 192.168.1.1 按主机过滤。
- 用 -w capture.pcap 保存抓包文件供 Wireshark 分析。
- 用 -r capture.pcap 读取已保存的抓包文件。
- 用 and/or 组合多条件精确过滤。
tcpdump -i eth0 -nn
tcpdump -i eth0 -nn port 80
tcpdump -i eth0 -nn host 192.168.1.1把命令输出变成结论
命令本身不是结论。每次执行后要回答:目标是否存在、状态是否异常、异常是否能解释用户看到的现象。
- 记录关键字段,而不是整屏复制
- 把正常路径和异常路径输出对比
- 输出为空也要解释:是确实没有,还是权限/过滤条件不对
tcpdump -i eth0 -nn port 80
tcpdump -i eth0 -nn host 192.168.1.1
tcpdump -i eth0 -w capture.pcap执行前替换占位符并控制影响范围
包含 <service>、<pod>、<namespace>、<pid>、<container> 的命令必须先替换。涉及 reload、restart、KILL、vacuum、prune 的命令要确认影响范围。
- 优先在测试环境或只读模式验证
- 生产执行前保留回滚路径
- 把最终可用命令写入工单或 runbook
tcpdump -i eth0 -w capture.pcap
tcpdump -nn -r capture.pcapVerification
怎么判断命令有效
- 命令已在正确机器、正确用户、正确 namespace 或正确仓库下执行。
- 输出能支撑明确判断:正常、异常、权限不足、目标不存在或需要下一跳排查。
- 对有副作用的命令,已确认执行窗口、影响范围和回滚方式。
Prevention
沉淀到日常流程
- 为关键域名保留 DNS、TCP、HTTPS 三层探测,确保网络链路各层都可用。
- 代理配置集中管理,明确 NO_PROXY 和 DNS 解析策略,避免内网域名被错误代理。
- 证书、域名和网关变更后做外网验证,从实际用户视角确认变更生效。
- 建立网络故障排查 SOP,按 DNS → TCP → TLS → HTTP → 代理逐层排查,减少盲猜。
常见问题
tcpdump 权限不够怎么办?
tcpdump 需要抓包权限,用 sudo 执行,或给 tcpdump 设置 cap_net_raw 能力:setcap cap_net_raw=eip /usr/sbin/tcpdump。
Long-tail SEO
你可能正在搜索这些报错
下面这些错误原文、场景词和中英文搜索词,都是排查同类问题时常见的入口。
- tcpdump 抓包命令
- tcpdump 指定端口
- tcpdump 保存 pcap
- tcpdump -i eth0
- tcpdump host 过滤
- tcpdump wireshark 分析
Need More Help
这组命令还不够贴合你的场景?
把你的系统环境、目标操作和报错贴过来,我会优先补充更具体的命令模板。