首页 > 系统相关 >Linux - 网络状态工具ss命令详解

Linux - 网络状态工具ss命令详解

时间:2024-07-21 18:09:22浏览次数:15  
标签:状态 ss TCP 监听 -- 详解 Linux 连接

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

常用选项

-h, --help 帮助
-V, --version 显示版本号
-t, --tcp 显示 TCP 协议的 sockets
-u, --udp 显示 UDP 协议的 sockets
-x, --unix 显示 unix domain sockets,与 -f 选项相同
-n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
-l, --listening 只显示处于监听状态的端口
-p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)
-a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称

显示所有套接字

ss 或 ss -a:显示所有类型的套接字,包括监听(Listening)和非监听状态的。

 仅显示监听套接字

 TCP 和 UDP 连接

ss -t:显示所有 TCP 连接。

ss -u:显示所有 UDP 连接。

结合选项 

ss -at:显示所有 TCP 连接(包括监听和非监听)。

ss -au:显示所有 UDP 连接。

过滤与排序

  • 可以通过 -f 或 --filter 加上表达式来过滤输出,比如 state established 只显示已建立的连接。
  • 使用 -o 后可以加上列名对输出进行排序,例如,-o state 按照状态排序。

要查看所有正在监听的 TCP 连接

ss -lt

要查看所有 TCP 连接,并解析主机名和端口号

ss -ane

要查看所有连接,并显示进程信息

ss -ap

输出排序与限制

排序:使用 -o 或 --sort 选项可以对输出进行排序,例如按接收或发送的数据量排序。
限制输出数量:使用 -n (与 -t, -u, -x 等结合) 限制输出的条目数,如 ss -nt 10 只显示前10个TCP连接。

目标筛选

指定目标IP或端口:通过 dst 或 sport、dport 参数筛选特定目标或端口的连接,例如 ss dst 192.168.1.1 或 ss sport = :80。

统计与分析

统计信息:-s 或 --summary 提供了关于各种协议(TCP, UDP, RAW, UNIX等)的统计信息,包括连接数、接收/发送字节数等。
计时器信息:使用 -o 选项可以显示每个套接字的计时器信息,这有助于分析网络延迟问题。

高级应用

与其它命令结合:ss 的输出可以方便地与 grep, awk, sed, sort 等命令结合使用,进行更复杂的过滤和数据分析。
实时监控:配合 watch 命令,如 watch -n 1 'ss -ant',可以实时查看网络连接的变化情况,其中 -n 1 表示每秒更新一次。

替代传统命令

ss 命令因其高效性和详细信息,常被推荐作为 netstat, ifconfig, route 等传统网络管理命令的替代品。它不仅提供更详尽的TCP连接状态,还支持现代协议如DCCP和SCTP。

 连接状态筛选

状态筛选:可以根据连接的状态来筛选输出。例如,ss state ESTABLISHED 会显示所有已建立的连接。

常见的状态包括:SYN-SENTSYN-RECVESTABLISHEDFIN-WAIT-1FIN-WAIT-2TIME-WAITCLOSEDCLOSE-WAITLAST-ACKLISTENCLOSING

举例:

1)查看所有已建立的连接(ESTABLISHED)
ss state established
这个命令会显示所有TCP连接中状态为“ESTABLISHED”的连接,即数据传输正在进行中的连接。

2)查看监听状态的套接字(LISTEN)
ss state listening
此命令会列出所有正在监听并等待连接请求的套接字,这对于了解哪些服务正在运行并监听端口非常有用。

3)查找处于SYN_SENT状态的连接
ss state syn-sent
此命令显示那些已发送SYN包但尚未收到SYN+ACK确认的连接,这可能意味着连接建立过程中出现了延迟或问题。

4)查看TIME_WAIT状态的连接
ss state time-wait
TIME_WAIT状态表示连接已经关闭,但是为了确保所有数据包都被正确接收,套接字在一段时间内保持打开。过多的TIME_WAIT状态可能表明之前有很多连接被快速打开和关闭。

5)查找CLOSE_WAIT状态的连接
ss state close-wait
CLOSE_WAIT状态意味着本地端已经接收到对方的关闭连接请求,但还没有完成关闭操作。长时间处于此状态可能意味着程序未正确关闭连接。

6)显示所有状态的连接,包括不常见状态
ss state all
此命令将显示所有状态的网络连接,包括但不限于上述提到的状态,有助于全面了解系统的网络连接状况。

7)结合其他条件进行筛选
例如,查找特定IP的ESTABLISHED连接:

ss state established dst 10.0.0.1
这会显示所有与IP地址10.0.0.1之间已建立的TCP连接。

标签:状态,ss,TCP,监听,--,详解,Linux,连接
From: https://www.cnblogs.com/beatle-go/p/18314752

相关文章

  • 如何恢复硬盘删除的数据?10个方法,简单实用恢复详解!
    在日常使用电脑的过程中,我们可能会不小心删除一些重要的文件,或者在清理硬盘空间时误删一些需要保留的数据。这时,了解如何恢复硬盘删除的数据就显得尤为重要。本文将为你介绍硬盘删除文件的恢复原理、告诉你哪些情况下文件恢复的可能性较低、详细介绍十个硬盘数据恢复方法。同......
  • [email protected]: Permission denied (publickey). fatal: Could not read from remote
    遇到 [email protected]:Permissiondenied(publickey). 这个错误通常意味着你的SSH密钥没有被GitHub识别或配置不正确。这里有几个步骤可以帮助你解决这个问题:1.检查SSH密钥是否已添加到GitHub查看你的SSH密钥:在本地机器上,你可以使用 ssh-keygen-l-Emd5-f~/.ssh/id_r......
  • 【Linux】一文向您详细介绍 Vim编辑器 显示行号的方法
    【Linux】一文向您详细介绍Vim编辑器显示行号的方法 下滑即可查看博客内容......
  • C++多线程编程中的锁详解
    在现代软件开发中,多线程编程是提升应用程序性能和响应能力的重要手段。然而,多线程编程也带来了数据竞争和死锁等复杂问题。为了确保线程间的同步和共享数据的一致性,C++标准库提供了多种锁机制。1.std::mutexstd::mutex是最基础的互斥锁,用于保护共享数据,防止多个线程同时访问......
  • 3、linux系统中对中断处理的演进
    2Linux系统对中断处理的演进从2005年我接触Linux到现在15年了,Linux中断系统的变化并不大。比较重要的就是引入了threadedirq:使用内核线程来处理中断。Linux系统中有硬件中断,也有软件中断。对硬件中断的处理有2个原则:不能嵌套,越快越好。 如果可以中断嵌套,那么总会出现因为嵌......
  • java基于ssm+vue 药品网购平台
    1用户前台功能模块1.1前台首页前台首页详情页面:首页、药品信息、疫情常识、保健品推荐、个人中心、后台管理、购物车等操作。程序效果图如下图1所示:前台页面等内容,如图1所示。 1.2个人中心在前台页面查看个人中心用户注册、登录,程序效果图如下图2所示:图2个人中心信息......
  • Linux操作系统的有关常用的命令
    1.linux系统的概述1.1什么是Linux系统?Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(LinusBenedictTorvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和......
  • 为什么各大云服务大厂 SSL 证书有效期都缩短到了 90 天?
    最近明月发现很多人都在抱怨国内各大厂云的免费SSL证书有效期都缩短到了90天这个话题,有些人还说这是大厂割韭菜的行为。虽然明月一直都认为国内大厂云一直都在玩儿各种割韭菜的花招,但说到这个SSL证书有效期90天的话还真是有点儿冤枉大厂云们了。SSL证书在诞生之初其实并......
  • 苹果系统注入三码,避免封号,解锁iCloud/FaceTime/iMessage/随航!
    黑苹果遇到的问题多种多样,这是一篇比较简单直接的、适合大部分配置的教程,如果解决不了你的问题,请见谅。如果完成三码注入后iMessage和FaceTime仍不能正常工作,需要考虑主板NVRAM支持问题。随航功能(Sidecar)仅支持macOSCatalina及以上,基本开启要求参阅官网,其中特别需要说明的......
  • 389.权志龙明星主题网页 大学生期末大作业 Web前端网页制作 html5+css+js
    欢迎光临仙女的网页世界!这里有Web前端网页制作的各行各业的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这么好的知识学习、技术交流的平台,让我们在这里相遇,小伙伴们,来吧,让我们一起开启Web前端网页制作的奇妙之旅!说起Web前端,大学开启这扇技术之门以来,一切起始于兴趣爱好和......