在日常工作中遇到的很多网络问题都可以通过 tcpdump 优雅的解决:
上述只是简单罗列几种常见的应用场景,而 tcpdump在网络诊断、网络优化、协议学习方面,确实是一款非常强大的网络工具,只要存在网络问题的地方,总能看到它的身影。
熟练的运用 tcpdump,可以帮助我们解决工作中各种网络问题,下边我们先简单学习下它的工作原理。
tcpdump 是 Linux 系统中非常有用的网络工具,运行在用户态,本质上是通过调用 libpcap 库的各种 api来实现数据包的抓取功能。
通过上图,我们可以很直观的看到,数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump工具进行后续的处理工作,输出或保存到 pcap 文件。
数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至
tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。
全部0条评论
快来发表一下你的评论吧 !