在Linux中的使用 ss 命令检查套接字/网络连接
2023-03-14 22:38:48 时间
在Linux中的使用 ss 命令检查套接字/网络连接
ss是iproute2包的一部分(控制TCP/IP网络和流量的工具)。iproute2的目标是替代先前用于配置网络接口、路由表和管理ARP表的标准Unix网络工具套装(通常称之为“net-tools”)。ss工具用于导出套接字统计,它可以显示与netstat类似的信息,且可以显示更多的TCP和状态信息。因为它直接从内核空间获取信息,所以会更快。ss的操作和netstat很像,所以这让它可以很容易就可以取代netstat。
使用和常见选项
ss和netstat很像,默认它会显示已经建立连接的开放的非监听TCP套接字列表。并且你可以用下面的选项过滤输出:
- -n - 不要尝试解析服务名。
- -r - 尝试解析数字的地址/端口。
- -a - 显示所有套接字。
- -l - 显示监听套接字。
- -p - 显示使用该套接字的进程。
- -s - 打印统计数据
- -t - 只显示TCP套接字。
- -u - 只显示UDP套接字。
- -d - 只显示DCCP套接字
- -w - 只显示RAW套接字。
- -x - 只显示Unix域套接字
- -f FAMILY - 显示FAMILY套接字的类型。目前支持下面这些族:unix、inet、inet6、link、netlink。
- -A QUERY - 指定要列出的套接字列表,通过逗号分隔。可以识别下面的标识符:all、inet、tcp、udp、raw、unix、packet、netlink、unixdgram、unixstream、packetraw、packetdgram。
- -o STATUS - 列出指定状态的套接字
ss 命令示例
1. 显示所有的的TCP端口和使用它们的进程:
- # ss -tnap
ss tnap
2. 你可以使用-4 标志来显示IPv4链接,-6标志来显示IPv6链接,比如:
- # ss -tnap6
ss tnap6
3. 跟上面的行为一样,你只需用u代替t就会显示所有开放的UDP端口。
- # ss -unap
ss unap
4. 你可以使用-s标志来打印各种有用的统计数据:
- # ss -s
ss stats
5. 你可以使用-o标志来检查所有不同状态下的链接,比如显示所有已经建立的连接。
- # ss -tn -o state established -p
ss est
原文发布时间:2014-12-04
本文来自云栖合作伙伴“linux中国”
相关文章
- 关于时间复杂度,你不知道的都在这里
- 阿里毕玄:如何写出牛逼的代码?
- 基础 | 校招,你必须掌握的Git知识
- 十个可以使你的应用开发更快的框架
- 前端元编程:使用注解加速你的前端开发
- 做了N+1个企业项目之后, 我总结了这些React必备插件
- 如何在任何机器之间同步VSCode设置?
- 递推算法:令人费解的开关『拉灯』
- Nacos客户端服务注册源码分析
- 对比授权机制,你更想用哪种?
- Tor 项目完全使用 Rust 重写的 Tor 协议实现:Arti
- 小林手撕 LRU 算法!
- Shell编程之用While简单写个守护进程
- 服务器又崩了?深度解析高可用架构的挑战和实践
- Module Federation你的浪漫我来懂
- 事物消息的实现-RocketMQ知识体系6
- 如何提高 CSS 性能
- 我不知道的CSS - Position
- 当Docker遇上IDEA ,生产力彻底炸裂了
- Thread的Join方法原理