ss--分析套接字实用工具

ss常用分析套接字相关的分析,功能和netstat类似,但比netstat速度更快、功能更多

常用选项:

  -s:打印出统计信息

    -t:打印出tcp相关的信息(默认显示ESTAB相的信息)

    -l:打印出listen相关的连接

    -n:不解析域名、协议、端口号等

    -4:只显示ipv4的连接

用法示例一:显示套接字连接统计信息

[[email protected] ~]# ss -s
Total: 562 (kernel 969)
TCP:   6 (estab 2, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0

Transport Total     IP        IPv6
*         969       -         -
RAW       1         0         1
UDP       2         1         1
TCP       6         4         2
INET      9         5         4
FRAG      0         0         0        

用法示例二:显示ESTAB相关的连接

[[email protected] ~]# ss -tn
State       Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port
ESTAB       0      0                                           192.168.1.220:22                                                        192.168.1.5:50781
ESTAB       0      0                                           192.168.1.220:22                                                        192.168.1.6:53007  

用法示例三:显示LISTEN相关的连接

[[email protected] ~]# ss -tnl
State       Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port
LISTEN      0      128                                                     *:22                                                                  *:*
LISTEN      0      100                                             127.0.0.1:25                                                                  *:*
LISTEN      0      128                                                    :::22                                                                 :::*
LISTEN      0      100                                                   ::1:25                                                                 :::*     

用法示例四:只显示IPV4相关的连接(排除ipv6)

[[email protected] ~]# ss -tnl4
State       Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port
LISTEN      0      128                                                     *:22                                                                  *:*
LISTEN      0      100                                             127.0.0.1:25                                                                  *:*  

特别注意点:可以通过Recv-Q和Send-Q判断进行的队列状态

当套接字处于连接状态(Established)时,

Recv-Q 表示套接字缓冲还没有被应用程序取走的字节数(即接收队列长度)。

而 Send-Q 表示还没有被远端主机确认的字节数(即发送队列长度)。

当套接字处于监听状态(Listening)时,

Recv-Q :表示全连接队列当前使用了多少

Send-Q:表示全连接队列的最大值

注:此处接收、发送队列是套接字级的,非系统级的

原文地址:https://www.cnblogs.com/liujunjun/p/12247945.html

时间: 2024-12-30 20:41:12

ss--分析套接字实用工具的相关文章

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

命令格式 ss [options] [ FILTER ] 命令参数 -h, --help 显示帮助信息. -V, --version 显示版本信息. -n, --numeric 不解析服务名称. -r, --resolve 试着解析数字形式的地址和端口. -a, --all 显示所有的套接字. -l, --listening 显示所有监听状态的套接字. -o, --options 显示计时器信息. -e, --extended 显示详细的套接字信息. -m, --memory 显示套接字的内存使

Netty3 源码分析 - 套接字绑定实现原理

前面关注的地方都是Netty采用的流水线处理方式的组织方式,ChannelHandler如何管理,通道状态,通道事件等这些上层的架构设计,那么Netty中如何实现诸如套接字绑定,连接,关闭等这些底层的操作呢?不能只顾着套用API写程序,却对细节不求甚解.这里大致追踪下OIO模式下Channel中套接字绑定的实现,(NIO以后分析)其实逻辑都是一样的,只是在线程模型的地方时不同的. 大致过程如下(详细的源码注释,看我的github): 1.我们在通过Bootstrap启动客户端或者服务端的时候会提

Python套接字

1.客户端/服务器架构 什么是客户端/服务器架构?对于不同的人来说,它意味着不同的东西,这取决于你问谁以及描述的是软件还是硬件系统.在这两种情况中的任何一种下,前提都很简单:服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的"服务".它存在唯一目的就是等待客户端的请求,并响应它们(提供服务),然后等待更多请求.另一方面,客户端因特定的请求而联系服务器,并发送必要的数据,然后等待服务器的回应,最后完成请求或给出故障的原因.服务器无限地运行下去,并不断地处理请求:而客户

套接字之close系统调用

close系统调用用于关闭文件描述符,其系统调用实现如下所示: 1 / 2 * Careful here! We test whether the file pointer is NULL before 3 * releasing the fd. This ensures that one clone task can't release 4 * an fd while another clone is opening it. 5 */ 6 SYSCALL_DEFINE1(close, unsi

《网络编程》基于 TCP 套接字编程的分析

本节围绕着基于 TCP 套接字编程实现的客户端和服务器进行分析,首先给出一个简单的客户端和服务器模式的基于 TCP 套接字的编程实现,然后针对实现过程中所出现的问题逐步解决.有关基于 TCP 套接字的编程过程可参考文章<基本 TCP 套接字编程>.该编程实现的功能如下: (1)客户端从标准输入读取文本,并发送给服务器: (2)服务器从网络输入读取该文本,并回射给客户端: (3)客户端从网络读取由服务器回射的文本,并通过标准输出回显到终端: 简单实现流图如下:注:画图过程通信双方是单独的箭头,只

【UNIX网络编程(四)】TCP套接字编程详细分析

引言: 套接字编程其实跟进程间通信有一定的相似性,可能也正因为此,stevens这位大神才会将套接字编程与进程间的通信都归为"网络编程",并分别写成了两本书<UNP1><UNP2>.TCP套接字编程是套接字编程中非常重要的一种,仔细分析,其实它的原理并不复杂.现在就以一个例子来详细分析TCP套接字编程. 一.示例要求: 本节中试着编写一个完成的TCP客户/服务器程序示例,并对它进行深入的探讨.该示例会用到绝大多数的基本函数,未用到但比较重要的函数会在后面的补充上

包分析(原始套接字七)

紧接上节,DecodeIpPack()函数完成包的解析: //IP包解析int DecodeIpPack(char *buf, int iBufSize){ IP_HEADER *pIpheader; int iProtocol, iTTL; char szProtocol[MAX_PROTO_TEXT_LEN]; char szSourceIP[MAX_ADDR_LEN], szDestIP[MAX_ADDR_LEN]; SOCKADDR_IN saSource, saDest; pIphea

[转帖]在Linux中的使用 ss 命令检查套接字/网络连接

在Linux中的使用 ss 命令检查套接字/网络连接 https://linux.cn/article-4372-1.html 作者: Adrian Dinu 译者: LCTT geekpi | 2014-12-04 10:11   评论: 4 收藏: 7 分享: 13 ss是iproute2包的一部分(控制TCP/IP网络和流量的工具).iproute2的目标是替代先前用于配置网络接口.路由表和管理ARP表的标准Unix网络工具套装(通常称之为“net-tools”).ss工具用于导出套接字统

linux netlink套接字实现类似ss命令 ,统计套接字以及TCP信息

参考了 ss的源代码 以及 netlink相关资料:http://blog.csdn.net/scdxmoe/article/details/27711205 实现结果为: gcc netlink_dig_530_7.c -o netlink_dig_530_7 ./netlink_dig_530_7 state      family     l.addr     l.port       r.addr     r.rport LISTEN     AF_INET   localhost