在日常工作中遇到的很多网络问题都可以通过 tcpdump 优雅的解决:
- 相信大多数同学都遇到过 SSH 连接服务器缓慢,通过 tcpdump 抓包,可以快速定位到具体原因,一般都是因为 DNS 解析速度太慢。
- 当我们工程师与用户面对网络问题争执不下时,通过 tcpdump 抓包,可以快速定位故障原因,轻松甩锅,毫无压力。
- 当我们新开发的网络程序,没有按照预期工作时,通过 tcpdump 收集相关数据包,从包层面分析具体原因,让问题迎刃而解。
- 当我们的网络程序性能比较低时,通过 tcpdump 分析数据流特征,结合相关协议来进行网络参数优化,提高系统网络性能。
- 当我们学习网络协议时,通过 tcpdump 抓包,分析协议格式,帮助我们更直观、有效、快速的学习网络协议。
上述只是简单罗列几种常见的应用场景,而 tcpdump在网络诊断、网络优化、协议学习方面,确实是一款非常强大的网络工具,只要存在网络问题的地方,总能看到它的身影。
熟练的运用 tcpdump,可以帮助我们解决工作中各种网络问题,下边我们先简单学习下它的工作原理。
tcpdump 是 Linux 系统中非常有用的网络工具,运行在用户态,本质上是通过调用 libpcap 库的各种 api来实现数据包的抓取功能。

通过上图,我们可以很直观的看到,数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump工具进行后续的处理工作,输出或保存到 pcap 文件。
数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至
tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。
-
嵌入式
+关注
关注
5186文章
20143浏览量
328648 -
Linux
+关注
关注
88文章
11627浏览量
217891 -
网络
+关注
关注
14文章
8129浏览量
93054 -
数据包
+关注
关注
0文章
269浏览量
25420
发布评论请先 登录
网络分析与网络分析仪的详解
矢量网络分析仪的工作原理
网络分析仪的结构、工作原理及信号测试的方法
网络分析仪基础
网络行抓包分析工具tcpdump安装介绍
网络分析仪测量阻抗匹配的工作原理

Linux网络分析tcpdump工作原理和应用
评论