首页 > 运维 > linux运维 > 正文

如何监控网络连接 ss命令替代netstat

P粉602998670
发布: 2025-08-05 14:53:01
原创
755人浏览过

ss 是替代 netstat 的更高效工具,因其性能更高、输出更清晰且功能更强,主流系统已推荐使用。1. 查看所有活动连接:ss -tuln;2. 查看所有 tcp 连接:ss -tn;3. 查看监听端口:ss -ln;4. 查看指定端口连接:ss -tn '( dport = :80 or sport = :80 )';5. 查看已建立连接:ss -tn state established;6. 查看进程信息:ss -tunlp(需 root 权限);7. 查看统计信息:ss -s。高级用法包括组合过滤、watch 实时监控及指定 ip 协议版本,需注意通过 -x、-w 查看 unix 和 raw 套接字,未安装时可通过 iproute2 包部署,ss 可完全取代 netstat 并提升诊断效率。

如何监控网络连接 ss命令替代netstat

在现代 Linux 系统中,

netstat
登录后复制
命令虽然广为人知,但由于其性能较差且已停止维护,逐渐被更高效、更快速的
ss
登录后复制
(Socket Statistics)命令所取代。如果你需要监控网络连接状态,
ss
登录后复制
是更推荐的工具。以下是
ss
登录后复制
如何替代
netstat
登录后复制
的详细说明和常用用法。


一、为什么用 ss 替代 netstat?

  • 性能更高
    ss
    登录后复制
    直接从内核的
    TCP/UDP
    登录后复制
    套接字信息中读取数据(通过
    netlink
    登录后复制
    接口),而
    netstat
    登录后复制
    是通过解析
    /proc/net/
    登录后复制
    下的文件,效率较低。
  • 输出更清晰
    ss
    登录后复制
    的输出更简洁,信息更全面。
  • 功能更强大:支持更灵活的过滤和状态筛选。
  • 系统默认推荐:主流发行版(如 CentOS 8+、Ubuntu 20.04+)已默认不再安装
    netstat
    登录后复制
    ,建议使用
    ss
    登录后复制

二、常见 netstat 命令与 ss 的等效替换

1. 查看所有活动连接(TCP/UDP)

# netstat 方式
netstat -tuln

# ss 等效命令
ss -tuln
登录后复制
  • -t
    登录后复制
    :显示 TCP 连接
  • -u
    登录后复制
    :显示 UDP 连接
  • -l
    登录后复制
    :仅显示监听状态(LISTEN)
  • -n
    登录后复制
    :以数字形式显示端口和 IP(不解析服务名/主机名)

2. 查看所有 TCP 连接(包括 ESTABLISHED)

# netstat
netstat -tn

# ss
ss -tn
登录后复制

3. 查看所有监听端口

# netstat
netstat -ln

# ss
ss -ln
登录后复制

4. 查看某个端口的连接(如 80 端口)

# netstat
netstat -an | grep :80

# ss(推荐方式)
ss -tn sport = :80
ss -tn dport = :80    # 目标端口为 80
ss -tn '( dport = :80 or sport = :80 )'
登录后复制
使用 sport(源端口)、dport(目标端口)配合 =、!=、<、> 等操作符,支持复杂过滤。

5. 查看 ESTABLISHED(已建立)的连接

# netstat
netstat -tn | grep ESTABLISHED

# ss
ss -tn state established
登录后复制

其他可用状态包括:

  • syn-sent
    登录后复制
  • syn-recv
    登录后复制
  • fin-wait-1
    登录后复制
  • fin-wait-2
    登录后复制
  • time-wait
    登录后复制
  • closed
    登录后复制
  • close-wait
    登录后复制
  • last-ack
    登录后复制
  • listening
    登录后复制
  • closing
    登录后复制

6. 查看进程信息(需权限)

# netstat
netstat -tunlp

# ss
ss -tunlp
登录后复制
  • -p
    登录后复制
    :显示关联的进程(PID/程序名)
  • 注意:需要 root 权限才能看到所有进程信息。

7. 查看 TCP 连接统计信息

# netstat
netstat -s

# ss
ss -s
登录后复制

输出各协议的连接统计,如 SYN 溢出、重传等,适合快速诊断网络异常。

知网AI智能写作
知网AI智能写作

知网AI智能写作,写文档、写报告如此简单

知网AI智能写作 38
查看详情 知网AI智能写作

三、实用技巧与高级用法

1. 组合过滤(逻辑表达式)

# 查看目标端口是 22 且状态为 ESTABLISHED 的连接
ss -tn 'dport = :22 and state established'

# 查看非本地回环的连接
ss -t src != 127.0.0.1
登录后复制

2. 监控连接变化(配合 watch)

watch -n 1 'ss -tn state established'
登录后复制

每秒刷新一次已建立的 TCP 连接,适合排查连接数波动。

3. 查看 IPv4 或 IPv6 连接

ss -4 -tn    # 仅 IPv4
ss -6 -tn    # 仅 IPv6
登录后复制

四、注意事项

  • ss
    登录后复制
    默认不显示所有协议(如 RAW、UNIX 套接字),需加
    -x
    登录后复制
    查看 Unix 套接字,
    -w
    登录后复制
    查看 RAW 套接字。
  • 某些旧系统可能未安装
    iproute2
    登录后复制
    包(
    ss
    登录后复制
    所属包),可通过以下命令安装:
# Ubuntu/Debian
sudo apt install iproute2

# CentOS/RHEL
sudo yum install iproute
登录后复制

基本上就这些。

ss
登录后复制
不仅更快,语法也更清晰,配合过滤功能可以精准定位网络问题。日常使用中,完全可以替代
netstat
登录后复制
,建议尽早熟悉。

以上就是如何监控网络连接 ss命令替代netstat的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号