上文对于网络问题分析的还不够精细,比如有时候网络资源可能没有达到瓶颈,并且没有丢包产生,但这个时候网络传输速率就是很慢或者是有丢包产生了,但是却无法知道丢的是具体哪个包,没有办法知道整个tcp传输过程的具体情况,所以需要一种更加精细的去看网络包传递过程的方法即抓包。
在 Linux 系统中,可以使用 netstat 或 ss 命令查看 TCP 连接状态。使用 netstat 命令:该命令可以列出所有已建立的 TCP 连接,其中 -a 选项表示显示所有连接,包括已建立、正在等待和已经关闭的连接;
抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据tcpdump -i eth1 host 192.168.1.1。再向下的部分,则是应用层协议的内容了。这非常有利于大家在学习协议、追查网络问题时,透过现象看本质。