Linux 命令 - ss: 查看套接字统计信息

命令格式

ss [options] [ FILTER ]

命令参数

-h, --help
  显示帮助信息。

-V, --version
  显示版本信息。

-n, --numeric
  不解析服务名称。

-r, --resolve
  试着解析数字形式的地址和端口。

-a, --all
  显示所有的套接字。

-l, --listening
  显示所有监听状态的套接字。

-o, --options
  显示计时器信息。

-e, --extended
  显示详细的套接字信息。

-m, --memory
  显示套接字的内存使用情况。

-p, --processes
  显示使用套接字的进程。

-i, --info
  只显示 TCP 信息。

-s, --summary
  显示统计信息。

-4, --ipv4
  只显示 IPv4 的套接字,相当于 -f inet 选项。

-6, --ipv6
  只显示 IPv6 的套接字,相当于 -f inet6 选项。

-0, --packet
只显示 PACKET 套接字。

-t, --tcp
  只显示 TCP 套接字。

-u, --udp
  只显示 UDP 套接字。

-d, --dccp
  只显示 DCCP 套接字。

-w, --raw
  只显示 RAW 套接字。

-x, --unix
  只显示 Unix 域的套接字。

-f FAMILY, --family=FAMILY
  显示 FAMILY 类型的套接字。目前支持的类型有 unix、inet、inet6、link、netlink。

-D FILE, --diag=FILE
  不显示任何信息,将原始的 TCP 套接字信息转储到指定文件。
-F FILE, --filter=FILE

  从指定文件读取过滤器信息。

实例

a) 查看所有的 TCP 连接

[[email protected] ~]$ ss -t -a
State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
LISTEN     0      50                     :::eforward                 :::*
LISTEN     0      50                     :::22181                   :::*
LISTEN     0      50                     :::25992                   :::*
LISTEN     0      128      ::ffff:127.0.0.1:9160                    :::*
LISTEN     0      128       ::ffff:10.1.228.166:9160                    :::*
LISTEN     0      128       fe80::43a:faff:fe00:11e:9160                    :::*
LISTEN     0      128                   ::1:9160                    :::*
LISTEN     0      128                    :::mysql                   :::*
LISTEN     0      128                     *:6379                     *:*...

b) 显示使用监听状态的套接字的进程信息。

[[email protected] ~]$ ss -pl
Recv-Q Send-Q           Local Address:Port               Peer Address:Port
0      50                          :::eforward                      :::*
0      50                          :::22181                        :::*
0      50                          :::25992                        :::*
0      128           ::ffff:127.0.0.1:9160                         :::*
0      128        ::ffff:10.1.228.166:9160                         :::*
0      128    fe80::43a:faff:fe00:11e:9160                         :::*
0      128                        ::1:9160                         :::*
0      128                         :::mysql                        :::*
0      128                          *:6379                          *:*        users:(("redis-server",43172,5))
...

c) 显示套接字的统计信息。

[[email protected] ~]$ ss -s
Total: 421 (kernel 458)
TCP:   193 (estab 85, closed 58, orphaned 0, synrecv 0, timewait 55/0), ports 182

Transport Total     IP        IPv6
*	  458       -         -
RAW	  0         0         0
UDP	  15        7         8
TCP	  135       11        124
INET	  150       18        132
FRAG	  0         0         0 
时间: 2024-08-04 23:07:35

Linux 命令 - ss: 查看套接字统计信息的相关文章

Linux命令 uname:查看系统与内核相关信息

[email protected]:~$uname --help [email protected]:~$uname -a //所有系统相关的信息

Linux命令之查看系统信息

查看磁盘相关信息 df 查看磁盘使用情况,这个已经介绍过了. fdisk 用来进行磁盘分区.我们只是需要它的-l命令查看磁盘的分区情况.如下: m@sys:~/program/C_codes/algorithms$ sudo fdisk -l [sudo] password for m: Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168

Linux网络编程——原始套接字实例:简单版网络数据分析器

通过<Linux网络编程--原始套接字编程>得知,我们可以通过原始套接字以及 recvfrom( ) 可以获取链路层的数据包,那我们接收的链路层数据包到底长什么样的呢? 链路层封包格式 MAC 头部(有线局域网) 注意:CRC.PAD 在组包时可以忽略 链路层数据包的其中一种情况: unsigned char msg[1024] = { //--------------组MAC--------14------ 0xb8, 0x88, 0xe3, 0xe1, 0x10, 0xe6, // dst

Linux网络编程——原始套接字实例:MAC 头部报文分析

通过<Linux网络编程——原始套接字编程>得知,我们可以通过原始套接字以及 recvfrom( ) 可以获取链路层的数据包,那我们接收的链路层数据包到底长什么样的呢? 链路层封包格式 MAC 头部(有线局域网) 注意:CRC.PAD 在组包时可以忽略 链路层数据包的其中一种情况: 1 unsigned char msg[1024] = { 2 //--------------组MAC--------14------ 3 0xb8, 0x88, 0xe3, 0xe1, 0x10, 0xe6,

Linux 网络编程——原始套接字实例:MAC 地址扫描器

如果 A (192.168.1.1 )向 B (192.168.1.2 )发送一个数据包,那么需要的条件有 ip.port.使用的协议(TCP/UDP)之外还需要 MAC 地址,因为在以太网数据包中 MAC 地址是必须要有的.那么怎样才能知道对方的 MAC 地址?答案是:它通过 ARP 协议来获取对方的 MAC 地址. ARP(Address Resolution Protocol,地址解析协议),是 TCP/IP 协议族中的一个,主要用于查询指定 ip 所对应的的 MAC(通过 ip 找 MA

Linux网络编程——原始套接字编程

原始套接字编程和之前的 UDP 编程差不多,无非就是创建一个套接字后,通过这个套接字接收数据或者发送数据.区别在于,原始套接字可以自行组装数据包(伪装本地 IP,本地 MAC),可以接收本机网卡上所有的数据帧(数据包).另外,必须在管理员权限下才能使用原始套接字. 原始套接字的创建: int socket ( int family, int type, int protocol ); 参数: family:协议族 这里写 PF_PACKET type:  套接字类,这里写 SOCK_RAW pr

Linux基础(11)原始套接字

一边接收函数返回一边判断返回值时一定要把接收的优先级加()提高再去判断 例 if((sockfd = socket()) < 0) 问题: 如何实现SYN扫描器扫描端口 , 比如AB两个设备要进行连接 , A通过端口发一个SYN包给B,B在收到后返回一个ACK包确认连接 , 但是在不确定B端口号时 该如何进行连接 , 答: A给B的每一个端都发一个SYN包, 如果哪个有返回说明端口是开放的, TCP和UDP都无法发实现这样的连接方式 , 所以要使用原始套接字 #include <netinet

Linux网络编程和套接字

1.套接字概述 套接字的本意是插座,在网络中用来描述计算机中不同程序与其他计算机程序的通信方式. 常用的套接字类型有3种: 1)流套接字(SOCK--STREAM):使用了面向连接的可靠的数据通信方式,即TCP套接字: 2)数据报套接字(Raw Sockets):使用了不面向连接的数据传输方式,即UDP套接字: 3)原始套接字(SOCK--RAW):没有经过处理的IP数据包,可以根据自己程序的要求进行封装. 2.常用函数 1.创建套接字函数:成功时返回文件描述符,失败时返回-1 int sock

Linux C利用Socket套接字进行服务器与多个客户端进行通讯

服务器端 #include <stdlib.h> #include <sys/types.h> #include <stdio.h> #include <sys/socket.h> #include <string.h> #include <signal.h> #include <arpa/inet.h> #include <unistd.h> #include <pthread.h> //服务器端