ss 是 iproute2 包的一部分 (控制 TCP/IP 网络和流量的工具).iproute2 的目标是替代先前用于配置网络接口, 路由表和管理 ARP 表的标准 Unix 网络工具套装 (通常称之为 "net-tools").ss 工具用于导出套接字统计, 它可以显示与 netstat 类似的信息, 且可以显示更多的 TCP 和状态信息. 因为它直接从内核空间获取信息, 所以会更快. ss 的操作和 netstat 很像, 所以这让它可以很容易就可以取代 netstat.
使用和常见选项
ss 和 netstat 很像, 默认它会显示已经建立连接的开放的非监听 TCP 套接字列表. 并且你可以用下面的选项过滤输出:
-n - 不要尝试解析服务名.
-r - 尝试解析数字的地址 / 端口.
-a - 显示所有套接字.
-l - 显示监听套接字.
-p - 显示使用该套接字的进程.
-s - 打印统计数据
-t - 只显示 TCP 套接字.
-u - 只显示 UDP 套接字.
-d - 只显示 DCCP 套接字
-w - 只显示 RAW 套接字.
-x - 只显示 Unix 域套接字
-f FAMILY - 显示 FAMILY 套接字的类型. 目前支持下面这些族: unix,.NET,inet6,link,netlink.
-A QUERY - 指定要列出的套接字列表, 通过逗号分隔. 可以识别下面的标识符: all,.NET,tcp,udp,raw,unix,packet,netlink,unixdgram,unixstream,packetraw,packetdgram.
-o STATUS - 列出指定状态的套接字
ss 命令示例
1. 显示所有的的 TCP 端口和使用它们的进程:
#
ss -tnap
ss tnap
2. 你可以使用 - 4 标志来显示 IPv4 链接,-6 标志来显示 IPv6 链接, 比如:
#
ss -tnap6
ss tnap6
3. 跟上面的行为一样, 你只需用 u 代替 t 就会显示所有开放的 UDP 端口.
#
ss -unap
ss unap
4. 你可以使用 - s 标志来打印各种有用的统计数据:
#
ss -s
ss stats
5. 你可以使用 - o 标志来检查所有不同状态下的链接, 比如显示所有已经建立的连接.
- #
- ss
- -
- tn -o state established -p
ss est
via:
来源: http://www.bubuko.com/infodetail-3360045.html