Linux 网络状态工具 ss 命令使用详解和优点

需积分: 32 3 下载量 32 浏览量 更新于2024-08-30 收藏 47KB DOC 举报
Linux 网络状态工具 ss 命令使用详解 ss 命令是 Linux 中一个非常实用、快速、有效的网络状态工具,用于显示 socket 状态。它可以显示 PACKET sockets、TCP sockets、UDP sockets、DCCP sockets、RAW sockets、Unix domain sockets 等等统计信息。与其他工具相比,ss 命令可以展示更多的 TCP 和 state 信息。 ss 命令可以提供以下信息: * 所有的 TCP sockets * 所有的 UDP sockets * 所有的 ssh/ftp/telnet/https 持久连接 * 所有连接到 X 服务器的本地进程 * 使用 state(例如:connected,synchronized,SYN-RECV,SYN-SENT,TIME-WAIT)、地址、端口过滤 * 所有的 state FIN-WAIT-1 tcp socket 连接以及更多 ss 命令的优点在于它可以快速、实时地显示网络状态信息,并且可以根据不同的状态和地址进行过滤和统计。例如,可以使用 `ss -o state established '(dport = :smtp or sport = :smtp)'` 命令来显示所有已建立的 SMTP 连接。 与 netstat 命令相比,ss 命令的效率更高、速度更快。例如,在统计服务器并发连接数时,ss 命令只需 0.03 秒,而 netstat 命令需要 12.96 秒。 常用的 ss 命令包括: * `ss -l` 显示本地打开的所有端口 * `ss -p` 显示每个进程具体打开的 socket * `ss -t -a` 显示所有 TCP socket * `ss -u -a` 显示所有的 UDP socket * `ss -o state established '(dport = :smtp or sport = :smtp)'` 显示所有已建立的 SMTP 连接 * `ss -o state established '(dport = :http or sport = :http)'` 显示所有已建立的 HTTP 连接 * `ss -x src /tmp/.X11-unix/*` 找出所有连接 X 服务器的进程 ss 命令是一个非常实用、快速、有效的网络状态工具,能够快速、实时地显示网络状态信息,并且可以根据不同的状态和地址进行过滤和统计。