ss命令详解

1,s是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。

天下武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。(但仍然比 netstat要快。)

2,命令格式:
ss [参数]
ss [参数] [过滤]

3,选项
-h:显示帮助信息;
-V:显示指令版本信息;
-n:不解析服务名称,以数字方式显示;
-a:显示所有的套接字;
-l:显示处于监听状态的套接字;
-o:显示计时器信息;
-m:显示套接字的内存使用情况;
-p:显示使用套接字的进程信息;
-i:显示内部的TCP信息;
-4:只显示ipv4的套接字;
-6:只显示ipv6的套接字;
-t:只显示tcp套接字;
-u:只显示udp套接字;
-d:只显示DCCP套接字;
-w:仅显示RAW套接字;
-x:仅显示UNIX域套接字。

4,实例
a,显示TCP连接
[[email protected] ~]# ss -t -a
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 0 :3306 :
LISTEN 0 0
:http :
LISTEN 0 0 :ssh :
LISTEN 0 0 127.0.0.1:smtp
:*
ESTAB 0 0 112.124.15.130:42071 42.156.166.25:http
ESTAB 0 0 112.124.15.130:ssh 121.229.196.235:33398

b,显示 Sockets 摘要
[[email protected] ~]# ss -s
Total: 172 (kernel 189)
TCP: 10 (estab 2, closed 4, orphaned 0, synrecv 0, timewait 0/0), ports 5

Transport Total ip IPv6

  • 189 - -
    RAW 0 0 0
    UDP 5 5 0
    TCP 6 6 0
    INET 11 11 0
    FRAG 0 0 0
    (列出当前的established, closed, orphaned and waiting TCP sockets)

c,列出所有打开的网络连接端口
[[email protected] ~]# ss -l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 :3306 :
0 0
:http :
0 0 :ssh :*
0 0

d,查看进程使用的socket
[[email protected] ~]# ss -pl
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 :3306 : users:(("mysqld",1718,10))
0 0
:http : users:(("nginx",13312,5),("nginx",13333,5))
0 0 :ssh : users:(("sshd",1379,3))
0 0 127.0.0.1:smtp
:* us

e,找出打开套接字/端口应用程序
[[email protected] ~]# ss -pl | grep 3306
0 0 :3306 :* users:(("mysqld",1718,10))

f,显示所有UDP Sockets
[[email protected] ~]# ss -u -a
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 :syslog :
UNCONN 0 0 112.124.15.130:ntp
:
UNCONN 0 0 10.160.7.81:ntp
:
UNCONN 0 0 127.0.0.1:ntp
:
UNCONN 0 0
:ntp :

原文地址:http://blog.51cto.com/13718210/2146211

时间: 2024-08-30 08:22:38

ss命令详解的相关文章

网络状态工具ss命令详解

ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用.快速.有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息: 所有的TCP sockets 所有的UDP sockets 所有ssh/ftp/ttp/https持久连接 所有连接到Xse

Linux ss命令详解

ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效. 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢. ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag.tcp_diag是一个用于分析统计的模块,可以获得Linux 内核

#20 ifconfig、route、netstat、ip、ss命令详解与修改主机名与网卡配置文件

网络的结构: 硬件:计算机.互联设备.网络设备 软件:操作系统.协议.应用程序.数据库 网络的功能: 资源共享:目的 数据通信:手段 网络通信模型 ISO/OSI: 应用层 表示层 会话层 传输层 网络层 数据链路层 为物理层 TCP/IP: 应用层 传输层 互联网层 网络访问层 数据报文封装格式: 对等通信: 应用层:数据流进程封装: 传输层:数据段(TCP segment)或数据报(UDP data-prog): 最大的报文不能超过65535字节: 互联网层:数据包或IP数据报(ip pac

(转)Linux下PS命令详解

(转)Linux下PS命令详解 整理自:http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续: (2) top:如果想对进程运行时间监控,应该用 top 命令: (3) kill 用于杀死进程或者给进程发送信号: (4) 查看文章最后的man手册,可以查看ps的每项输出的含义

Linux上命令的使用格式和基础命令详解

一.Linux上命令的使用格式 命令行提示符详解: 用户通过终端的命令行接口来控制操作系统,登陆后如下: [[email protected] ~]# root: 当前登录的用户 @:分隔符 localhost: 当前主机的主机名,非完整格式:此处的完整格式为:localhost.localdomain [[email protected] ~]# hostname localhost.localdomain ~:用户当前所在的目录(current directory),也称为工作目录(work

expdp impdp 数据库导入导出命令详解

一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * from dba_directories; 三.给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予. grant read,write on directory dpdata

windbg命令详解

DLL 该扩展仅在内核模式下使用,即使它是在Ext.dll中的. Windows NT 4.0 Ext.dll Windows 2000 Ext.dll Windows XP和之后 Ext.dll 注释 如果不提供参数,调试器会列出所有进程,以及时间和优先级统计.这和使用!process @#Process 0 作为CommandString值一样. To terminate execution at any point, press CTRL+BREAK (in WinDbg) or CTRL

grep 命令详解及相关事例

一.匹配字符 .    匹配任意单个字符 [ ]  匹配指定范围内的任意字符 [^]  匹配飞指定范围内的任意字符 [:alpha:] 字母字符 [:lower:] 小写字母字符 [:upper:] 大写字母字符 [:digit:] 数字 [:alnum:] 字母数字字符 [:space:] 空白字符(禁止打印),如回车符.换行符.竖直制表符和换页符 [:punct:] 标点字符 [:cntrl:] 控制字符(禁止打印) [:print:] 可打印字符 使用时一般使用两个中括号,具体会在下面的例

linux sar 命令详解

linux sar命令详解 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及IPC有关的活动等. sar命令的格式: -bash-4.1# sar --help Usage: sar [ options ] [ <interval> [ <count> ] ] Options ar