linux系统下ss命令是什么呢?下面是ss命令的具体介绍:
1、ss命令简介:
ss是Socket Statistics的缩写。ss命令可以用来获取socket统计信息,可以显示和netstat类似的内容。能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快是因为利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。
2、用法
ss [选项] [过滤]
3、常见参数:
如果没有指定任何选项,ss 列出所有已经建立、并不处在listen的TCP 套接字。
-h, –help
列出选项概要
-V,–version
输出版本信息
-n, –numeric
不尝试解析服务的名字
-r,–resolve
尝试解析数字地址/端口
-a,–all
显示处在listening 和 非listening 状态的套接字(对TCP来说,这意味所有已建立的连接)。
-l,–listening
只显示处在 listening 状态的套接字(默认情况下它们是被忽略的)
* -o, –options*
显示定时器信息
-e,–extended
显示详细的套接字信息
-m,–memory
显示套接字的内存使用信息
-p, –process
显示使用套接字的进程
-i, –info
显示TCP内部信息
-s,–summary
显示概要统计。该选项不分析来自不同来源的套接字概要信息。 当套接字的数量很大导致分析/proc/net/tcp 很痛苦时,它很有用。
-Z,–context
同 -p 选项,不过还显示进程的安全上下文
-z,–contexts
同 -Z, 不过还显示套接字的上下文。 该套接字上下文是从inode里取出的、并不是内核持有的实际的socket上下文。 套接子通常以创建它的进程上下文标记, 但该上下文会反映已应用上的policy role, type and/or range , 因此这是个很有用的参考。
-b,-bpf
显示套接字的BPF过滤(只有管理员能获取这些信息)
-4,–ipv4
只显示IPv4 套接字(-f inet的别名)
-6,–ipv6
只显示IPv6 套接字(-f inet6的别名)
-0,–packet
显示PACKET 套接字(-f link的别名)
-t,–tcp
显示 TCP 套接字
-u,–udp
显示UDP 套接字
-d,–dccp
显示 DCCP 套接字
-w,–raw
显示 RAW 套接字
-x,–unix
显示 Unix Domain 套接字(-f unix的别名)
-f FAMILY,–family=FAMILY
显示类型为FAMILY的套接字。 支持以下几个family: unix, inet,inet6,link,netlink
-A QUERY, –query=QUERY, –socket=QUERY
列出需要倒出的套接字列表,用逗号隔开。 支持以下标识符: all, inet, tcp, udp, raw, unix, packet, netlink, unix_dgram, unix_stream, unix_seqpacket, packet_raw, packet_dgram
-D FILE, –diag=FILE
不显示任何内容,仅把原始TCP套接字信息存入文件FILE。 如果FILE为 - , 则使用stdout作为输出。
-F FILE, –filter=FILE
从文件FILE中读取信息。 文件的每一行被认为是单个命令行参数。 如果FILE为 - , 则使用stdin。
* FILTER := [ state TCP-STATE ] [ EXPRESSION ] *
举例:
显示所有的连接