1.是什么?
2.应用场景?
性能问题:
SSH 连接服务器缓慢,网络程序性能低--分析数据流走向
网络故障:数据包分析
3.原理分析?
tcpdump 运行在用户态,本质上是通过调用 libpcap 库的各种 api 来实现数据包的抓取功能。
通过上图,我们可以很直观的看到,数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump 工具进行后续的处理工作,输出或保存到 pcap 文件。
数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至 tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。
4.用法总结:
不加任何参数,默认情况下将抓取第一个非 lo 网卡上所有的数据包
2. 抓取 eth0 网卡上的所有数据包