ping
ping
命令是判断网络是否连通的最常用的工具,发送 ICMP 数据包,能获得本次连接的往返时间(RTT 时间),丢包情况,以及访问的域名所对应的 IP 地址(使用 DNS 域名解析)。
netstat
netstat
命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat
无参数使用netstat
命令,输出分为两个部分:活跃的网络连接、活跃的本地连接
1 | [root@dengpangpang ~]$ netstat |
netstat -apt
显示所有TCP连接的进程信息。netstat -apu
显示所有UDP连接的进程信息。
1 | [root@dengpangpang ~]$ netstat -apt |
netstat -i
显示网卡信息
1 | [root@dengpangpang ~]$ netstat -i |
netstat -r
显示路由表信息,等同于route -n
1 | [root@dengpangpang ~]$ netstat -r |
其他命令
1 | # 统计机器中某个协议连接中各个状态的个数 |
ss
ss
是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat
类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat
更快速更高效。
常用参数
1 | -a: --all 显示所有套接字(sockets) |
sar
在众多linux分析工具中,sar
是一个非常全面的一个分析工具,对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。可以文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析,相当于瑞士军刀。
在以往的工具中,对CPU/内存/磁盘的情况分析已经足够详细。本次仅介绍网络性能分析功能:sar -n
1 | -n DEV : 网络接口统计信息。 |
输出信息解释
1 | # sar -n DEV 1 1 统计网卡设备连接信息 |
netcat
通过TCP/UDP在网络中进行读写数据工具,主要用于调试领域、传输领域甚至黑客攻击领域。
待补充,参见:技术博客
tcpdump
强大的网络抓包工具。
待补充,参见:技术博客