在 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
2. 你可以使用-4 标志来显示 IPv4 链接,-6 标志来显示 IPv6 链接,比如:
# ss -tnap6
3. 跟上面的行为一样,你只需用 u 代替 t 就会显示所有开放的 UDP 端口。
# ss -unap
4. 你可以使用-s 标志来打印各种有用的统计数据:
# ss -s
5. 你可以使用-o 标志来检查所有不同状态下的链接,比如显示所有已经建立的连接。
# ss -tn -o state established -p
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论