ss 命令实用技巧:高效的网络状态监控工具 🌐
ss
(Socket Stat)是 Linux 系统中用于查看网络连接状态的强大工具,它比 netstat
更加高效和灵活。通过 ss
,你可以快速获取网络连接、端口监听、套接字统计等信息。熟练掌握 ss
的一些实用技巧,可以让你在网络排错、性能监控等任务中更加得心应手!⚡
让我们一起来看看一些实用的 ss
使用技巧吧!✨
1. 查看所有网络连接 🔍
如果你想查看系统中所有的网络连接(包括 TCP、UDP、UNIX 套接字等),可以使用:
ss -a
这将列出所有的连接状态,包括监听端口、已建立的连接等。
实用小贴士:
如果你只关心 TCP 连接,可以加上 -t
选项:
ss -at
要查看 UDP 连接,加上 -u
:
ss -au
2. 查看监听的端口 🔧
如果你只想查看系统中处于监听状态的端口,可以使用 -l
选项:
ss -l
如果要 查看监听的 TCP 和 UDP 端口,可以使用:
ss -tuln
实用小贴士:
使用 -n
可以强制显示数字地址,而不进行 DNS 查询,避免延迟。
3. 查看特定端口的连接 🔢
如果你想查看某个特定端口的网络连接,可以使用 sport
(源端口)或 dport
(目标端口)过滤:
ss -tuln sport = :80
这个命令会显示所有源端口为 80 的 TCP 连接。
实用小贴士:
你也可以通过 dport
来过滤目标端口:
ss -tuln dport = :443
这将列出所有目标端口为 443(通常用于 HTTPS)的连接。
4. 显示进程 PID 和程序名 📋
如果你希望查看每个网络连接的进程 ID (PID) 和对应的程序名称,可以使用 -p
选项:
ss -p
这个命令将列出所有连接,并显示与每个连接相关联的进程信息。
实用小贴士:
如果你只关心某个特定进程,可以配合 grep
来过滤:
ss -p | grep <process-name>
5. 显示 TCP 状态信息 📊
如果你只想查看 TCP 连接的状态,可以使用 -t
选项,然后加上 state
过滤条件 来查看特定状态的连接。例如,查看处于 ESTABLISHED
状态的连接:
ss -t state established
你还可以查看 LISTEN
、SYN-SENT
、SYN-RECV
等状态的连接:
ss -t state listen
6. 查看 UNIX 套接字连接 🖥️
ss
不仅仅可以用于查看网络连接,它也支持 UNIX 套接字。要查看 UNIX 套接字连接,可以使用 -x
选项:
ss -x
这个命令将显示当前的 UNIX 套接字连接,适用于与本地服务(如数据库、应用程序)之间的通信。
7. 定期查看网络连接状态 ⏲️
要定期刷新网络连接状态,可以使用 watch
命令结合 ss
:
watch -n 1 ss -tuln
这将每秒刷新一次网络连接状态,让你实时监控端口的使用情况。
8. 显示网络接口的统计信息 📈
如果你想查看网络接口的详细统计信息,可以使用 ss
的 -i
选项:
ss -i
该命令会显示每个网络连接的详细统计信息,如接收和发送的字节数、错误数、丢包等。