各位老铁们好,相信很多人对Linux ss命令都不是特别的了解,因此呢,今天就来为大家分享下关于Linux ss命令以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
当服务器上的socket连接数变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
fast ss 的秘密在于它利用了TCP 协议栈中的tcp_diag。 tcp_diag是一个用于分析统计的模块。它可以获取Linux内核中的第一手信息,这保证了ss快速高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,但是效率会变得稍微慢一些。 (但仍然比netstat 快)
ss命令用于显示套接字状态。它可以显示PACKET套接字、TCP套接字、UDP套接字、DCCP套接字、RAW套接字、Unix域套接字等的统计信息。它比其他工具显示更多的TCP和状态信息。它是一个非常实用的、快速有效地跟踪IP连接和套接字的新工具。 SS命令可以提供以下信息。
命令格式
ss [参数] ss [参数] [过滤器]
命令功能
比netstat更容易使用的套接字统计信息。 iproute2 包中包含的另一个工具允许您查询套接字统计信息。
命令参数
-h, –help 帮助信息-V, –version 程序版本信息-n, –numeric 不解析服务名称-r, –resolve 解析主机名称-a, –all 显示所有套接字( -l, –listening 显示套接字(sockets)的监听状态-o, –options 显示定时器信息-e, –extended 显示详细的套接字(sockets)信息-m, –memory 显示套接字的内存使用情况socket(socket) -p, –processes 显示使用该socket(socket)的进程-i, –info 显示TCP内部信息-s, –summary 显示socket(socket) 用法概述-4, –ipv4只显示IPv4 套接字(sockets)-6, –ipv6 只显示IPv6 套接字(sockets)-0, –packet 显示PACKET 套接字(sockets)- t, –tcp 只显示TCP 套接字(sockets) -u, –packet 显示TCP 套接字(sockets) -u, –tcp udp 只显示UCP 套接字(sockets) -d, –dccp 只显示DCCP 套接字(sockets) -w, –raw 只显示RAW 套接字(sockets) -x, –unix 只显示Unix 套接字(sockets) -f, –family=FAMILY 显示FAMILY类型套接字(sockets),FAMILY是可选的,支持unix、inet、inet6、link、netlink-A、–query=QUERY、–socket=QUERY QUERY :={all|inet|tcp |udp|raw|unix|packet|netlink}[,QUERY]-D, — diag=FILE 将原始TCP 套接字信息转储到文件-F, –filter=FILE 从文件中读取过滤器信息FILTER :=[ state TCP-状态] [表达]
显示TCP连接
ss – a-t
显示UDP链接
ss-a-u
显示Sokets摘要
不锈钢-s
列出当前已建立、关闭、孤立和等待的TCP 套接字
显示本地打开的所有端口
不锈钢-ln
查看进程使用的socket
不锈钢-PL
找出打开套接字/端口应用程序
ss-nlp |
显示所有状态为established的SMTP连接
grep 3306
显示所有状态为Established的HTTP连接
ss -o 状态已建立'( dport=:smtp 或sport=:smtp )’
用TCP 状态过滤Sockets
ss -o 状态已建立'( dport=:http 或sport=:http )’
匹配远程地址和端口号
ss -4 状态F名称- HERE ss -6 state FILTER-NAME-HEREFILTER-NAME-HERE 可以是以下任意一项
Listen:监听来自远程TCP端口的连接请求syn-sent:发送连接请求后,等待匹配的连接请求(客户端) syn-recv:接收并发送连接请求后,等待对方对连接请求的确认(客户端) Server)建立:代表打开连接fin-wait-1:等待远程TCP连接中断请求,或者确认之前的连接中断请求fin-wait-2:等待远程TCP连接中断请求close-wait :等待远程TCP的连接中断请求本地用户发送的连接中断请求close:等待远程TCP确认连接中断Last-ack:等待原来发送给远程的连接中断请求的确认TCP time-wait:等待足够的时间,以确保远程TCP 接收到连接中断请求确认已关闭:无连接状态all : 以上所有状态已连接: 除监听和已关闭同步之外的所有状态: 除syn-sentbucket 外的所有已连接状态: 显示状态保持为minisocket,如:time-wait 和syn -recv.big : 与bucket 相反。
将本地或者远程端口和一个数比较
ss dst ADDRESS_PATTERN ss dst 192.168.1.1 ss dst 192.168.21.1:http ss dst 192.168.21.1:smtp ss dst 192.168.21.1: 443 010-1010 ss sport=:http ss dport=:http ss dport \ :1024 ss sport \ :1024 ss sport \ :32000 ss sport eq :22 ss dport !=:22 ss状态连接sport=:http ss \(sport=:http 或sport=:https \) ss -o state fin-wai t-1 \( sport=:http 或sport=:https \ ) dst 192.168.1/24ss dport OP PORT 将远程端口与一个数字进行比较; ss sport OP PORT 将本地端口与数字进行比较。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/123850.html
用户评论
咆哮
刚学linux不久就遇到了这个超级实用的命令!之前总是不知道网络状况怎么看,ss命令简直解决了我很多问题,太棒了!以后终于可以像大佬们一样轻松查看流量啦。
有5位网友表示赞同!
命硬
这篇文章写的真的很好理解,我以前对Linux的网络命令都很生疏,但看了这篇之后终于明白这命令是怎么用的了。希望以后还有更多这样的图文解说
有13位网友表示赞同!
空谷幽兰
ss命令确实很强大啊,用来查看网络状态还是很管用的一把,特别是想查看监听端口或者TCP连接的情况特别方便。不过有时候会有一些复杂的选项,需要多看几遍文档才能完全掌握呢
有14位网友表示赞同!
全网暗恋者
我一直觉得使用netstat比使用ss命令更直观一些,毕竟用了这么多年netstat才习惯了它的使用方法嘛!不过如果ss命令真的更高效,那我也愿意尝试一下。
有7位网友表示赞同!
妄灸
看到好多人说这个命令好用,我决定亲自试一试!虽然我Linux不是特别熟练,但看下文章应该能理解基本的使用方法吧!
有10位网友表示赞同!
月下独酌
这篇文章给我敲醒了不少东西,原来网络状态这么重要,以后一定要多查看下我的ss信息了。感谢作者分享这个实用的命令!
有14位网友表示赞同!
南初
我也是Linux刚开始接触的小小白,看完这篇文章感觉 ss 命令超级管用啊!我要好好学习一下!以前总是看不懂那些复杂的网络调试信息,现在有了这个SS命令估计问题都能轻松解决了
有5位网友表示赞同!
滴在键盘上的泪
确实!ss命令比之前用的netstat简洁很多,使用起来更方便啊。对于经常需要查看网络状态的用户来说,ss命令绝对是一个福音!
有12位网友表示赞同!
昂贵的背影
Linux系统真是太棒了,能够提供这么便捷的工具让我们更加高效地管理网络资源。我以后一定会把这个 ss 命令好好学习一下!
有10位网友表示赞同!
箜篌引
感觉这篇文章没说到什么关键信息啊,比如如何查看不同的数据类型或者使用一些高级选项之类的?希望作者能够完善一下这篇文章
有8位网友表示赞同!
花菲
Linux的命令行界面确实很有魅力,只是对于初学者来说可能会感到比较困难。希望以后还有更多像这样清晰的教程帮助我们理解这些强大的工具!
有18位网友表示赞同!
墨城烟柳
我经常需要查看系统上的网络连接信息,ss 命令确实非常方便快捷好用!但是有些复杂的操作还是需要多看文档才能弄明白啊…
有17位网友表示赞同!
百合的盛世恋
这篇文章写的比较简单易懂,就算是小白也能看明白。不过对于想要深入了解ss命令的同学来说,可能还差点意思。希望作者能开设一些深度讲解,分析各种高级选项的使用方法
有12位网友表示赞同!
窒息
我试过了,这款 ss命令的确很强大,能够提供比netstat更详细的信息!但是有时候输入参数的时候会遇到一些问题,需要多参考文档才能解决。
有19位网友表示赞同!
生命一旅程
ss 命令真好用!可以快速查看所有的网络连接信息,而且还可以根据不同的条件过滤数据,太厉害了!感谢作者的分享!
有12位网友表示赞同!
汐颜兮梦ヘ
总觉得还是netstat命令更常用一点,毕竟使用习惯已经养成了,对Linux系统比较深入了解的人可能更倾向于用netstat。 不过ss命令确实强大,有别样的优势!
有16位网友表示赞同!
减肥伤身#
我一直在寻找一个替代 netstat 的命令,这下找到啦! ss 命令简直就是我的救星!比 netstat 方便快捷,而且功能更加强大!感谢作者分享!
有8位网友表示赞同!