Linux 抓包入门:tcpdump 如何定位网络问题?
Linux 抓包入门tcpdump 如何定位网络问题1. 前言当ping、curl、ss都不能完全说明问题时就需要抓包。抓包可以直接看到网络数据包有没有到达服务器、有没有返回、端口是否正确、连接是否被重置。Linux 中最常用的命令行抓包工具是tcpdump它适合在服务器上快速定位网络问题。本文重点讲解tcpdump 基本用法如何按网卡、主机、端口过滤如何保存 pcap 文件如何分析 TCP 三次握手常见网络问题如何用 tcpdump 判断。2. 安装 tcpdumpUbuntu / Debiansudo apt install tcpdumpCentOS / RHELsudo yum install tcpdump查看版本tcpdump --version抓包通常需要 root 权限。3. 查看网卡抓包前先查看网卡ip addr常见网卡eth0 ens33 ens160 lo如果不确定抓哪张网卡可以使用sudo tcpdump -D列出可抓包接口。4. 基本抓包命令抓取 eth0 上的数据包sudo tcpdump -i eth0抓取并不解析域名和端口名sudo tcpdump -i eth0 -nn推荐加-nn输出更清晰。限制抓 10 个包sudo tcpdump -i eth0 -nn -c 105. 按主机过滤只抓某个 IP 相关的数据包sudo tcpdump -i eth0 -nn host 192.168.1.10只抓源 IPsudo tcpdump -i eth0 -nn src host 192.168.1.10只抓目标 IPsudo tcpdump -i eth0 -nn dst host 192.168.1.106. 按端口过滤抓取 80 端口sudo tcpdump -i eth0 -nn port 80抓取目标端口 8080sudo tcpdump -i eth0 -nn dst port 8080抓取源端口 8080sudo tcpdump -i eth0 -nn src port 8080抓取 TCP 80sudo tcpdump -i eth0 -nn tcp port 80抓取 UDP 53sudo tcpdump -i eth0 -nn udp port 537. 组合过滤条件抓某个客户端访问本机 8080sudo tcpdump -i eth0 -nn host 192.168.1.20 and port 8080抓来自某 IP 且目标端口为 443sudo tcpdump -i eth0 -nn src host 192.168.1.20 and dst port 443抓 80 或 443sudo tcpdump -i eth0 -nn port 80 or port 443复杂表达式建议加引号避免被 Shell 解析。8. 显示包内容以 ASCII 显示数据内容sudo tcpdump -i eth0 -nn -A port 80以十六进制和 ASCII 显示sudo tcpdump -i eth0 -nn -X port 80HTTP 明文请求可以看到部分内容。HTTPS 是加密的通常看不到明文请求体。9. 保存抓包文件保存为 pcap 文件sudo tcpdump -i eth0 -nn port 8080 -w capture.pcap之后可以用 Wireshark 打开分析。读取 pcap 文件tcpdump -nn -r capture.pcap抓包文件适合发给其他人协助分析。10. TCP 三次握手怎么看TCP 建立连接时会出现三次握手SYN SYN, ACK ACK抓 8080 端口sudo tcpdump -i eth0 -nn tcp port 8080如果看到client server: Flags [S] server client: Flags [S.] client server: Flags [.]说明 TCP 连接建立成功。Flags 含义标志含义SSYN.ACKFFINRRSTPPUSH11. 常见问题判断11.1 服务器收不到包客户端访问时服务器抓包sudo tcpdump -i eth0 -nn host 客户端IP and port 8080如果完全没有包说明请求没有到达服务器。可能原因客户端没发出路由不通云安全组拦截上游防火墙拦截抓错网卡。11.2 服务器收到 SYN但没有 SYN ACK如果只看到客户端发 SYNclient server: Flags [S]但没有服务器返回 SYN ACK可能原因服务没监听端口本机防火墙丢包内核没有响应目标端口不对。先检查ss -lntp | grep :8080 iptables -L -n firewall-cmd --list-all11.3 服务器返回 RST如果看到server client: Flags [R.]说明连接被重置。常见原因端口没有服务监听应用主动拒绝中间设备重置连接协议不匹配。11.4 TCP 建立成功但 HTTP 没响应能看到三次握手但 curl 一直等待。说明网络层通了问题可能在应用层应用线程阻塞后端处理慢数据库卡住反向代理超时应用没有返回响应。这时继续看应用日志和服务状态。12. 抓 DNS 请求DNS 通常使用 UDP 53。sudo tcpdump -i eth0 -nn udp port 53测试nslookup www.baidu.com如果没有 DNS 请求发出可能是本机解析配置问题。如果请求发出但没有响应可能是 DNS 服务器不可达。13. 抓 ICMP ping 包抓 pingsudo tcpdump -i eth0 -nn icmp另一个终端执行ping 目标IP可以看到 ICMP echo request 和 echo reply。14. tcpdump 常用参数总结参数作用-i指定网卡-nn不解析域名和端口名-c指定抓包数量-w保存到文件-r读取 pcap 文件-AASCII 显示内容-X十六进制和 ASCII 显示host按主机过滤src源地址dst目标地址port按端口过滤tcpTCP 协议udpUDP 协议icmpICMP 协议15. 小结tcpdump 的价值在于直接看到数据包有没有到达、有没有返回、返回了什么。常用命令sudo tcpdump -i eth0 -nn sudo tcpdump -i eth0 -nn host 192.168.1.10 sudo tcpdump -i eth0 -nn port 8080 sudo tcpdump -i eth0 -nn tcp port 80 sudo tcpdump -i eth0 -nn -w capture.pcap排查网络问题时可以这样判断抓不到包请求没到服务器 只看到 SYN服务或防火墙可能有问题 看到 RST连接被拒绝或重置 握手成功但无响应应用层问题掌握 tcpdump 后网络排查就不再只能靠猜。

相关新闻

分屏自由!国标GB28181视频监控平台EasyCVR上线自定义多分屏,监控画面随心拆合!

分屏自由!国标GB28181视频监控平台EasyCVR上线自定义多分屏,监控画面随心拆合!

做视频监控运维,你是不是也遇到过这些难题?固定4/9/16分屏死板不灵活,重点画面太小看不清;核心区域需要放大预览,次要画面无需占用窗口;不同业务场景,找不到适配的监控布局……为破解传统分屏固…

2026/10/29 0:04:58 阅读更多 →
OpenClaw从入门到精通·特别篇|2026年5月生态爆发:安全落地全流程与实战部署指南

OpenClaw从入门到精通·特别篇|2026年5月生态爆发:安全落地全流程与实战部署指南

摘要:本文结合2026年5月OpenClaw生态现状、CNCERT安全规范、工信部安全预警以及多所高校使用禁令,围绕v2026.5.3稳定版本展开全面讲解。文章梳理近期多款高危漏洞风险,对比三类主流部署方案并提供可直接执行的部署脚本、安全加固命令。详解模型分级配置、MCP协议扩展、ClawH…

2026/10/29 0:05:09 阅读更多 →
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比

银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比

背景:银行流水是"资金的真相" 账上的银行存款余额是时点数,银行流水才是资金来龙去脉的完整证据。关联方占用、虚构回款、资金池运作,几乎都要回到流水里看。但一份流水动辄几万行,手工核对"账载银行日记账 vs 银行…

2026/10/26 7:43:44 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 16:58:40 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →