netstat ss 用法

发布时间 2023-08-06 22:35:34作者: 旧巷g

netstat ss 用法

查看网络连接情况 netstat ss

1,netstat

格式

netstat [选项]

1.1netstat选择

-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n 以数字的形式显示相关的主机地址、端口等信息
-r 显示路由表信息
-l 显示处于监听(Listening)状态的网络连接及端口信息
-t 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

2,ss

格式

ss [选项]

ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。

但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢

ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

2.1 ss选项

常用选项:ss -natp

-ttcp协议相关
-u udp协议相关
-w 裸套接字相关
-x unix sock相关
-l listen状态的连接
-a 所有
-n 数字格式
-p 相关的程序及PID
-e 扩展的信息
-m 内存用量
-o 计时器信息
-r --resolve 把 IP 解释为域名,把端口号解释为协议名称。

可以使用time命令来比较

time netstat -atn

image-20230806221915210

time ss -atn

image-20230806221928983