
在Linux系统中,netstat 和 ss 是两个用于查看网络连接状态、端口监听情况和套接字信息的重要命令行工具。虽然功能相似,但ss 更现代、性能更高,推荐优先使用。下面分别介绍它们的基本用法。
查看所有活动连接显示当前系统中所有的TCP、UDP连接以及监听端口:
- netstat -a
- ss -a
这两个命令会列出所有活跃的网络连接,包括正在监听的服务和已建立的连接。
查看TCP和UDP连接若只想查看特定协议的连接,可以使用以下命令:
- netstat -t # 仅显示TCP连接
- netstat -u # 仅显示UDP连接
- ss -t # ss查看TCP连接
- ss -u # ss查看UDP连接
结合 -a 参数可同时包含监听和非监听状态的连接,例如 ss -at 显示所有TCP连接。
显示监听端口查看哪些端口正在等待外部连接(即服务监听状态):
- netstat -l # 列出所有监听中的端口
- netstat -tl # 只看TCP监听端口
- netstat -ul # 只看UDP监听端口
- ss -l # ss查看监听端口
- ss -tl # ss查看TCP监听端口
通常用于检查Web服务器(80/443)、SSH(22)等服务是否正常启动并监听。
Teleporthq
一体化AI网站生成器,能够快速设计和部署静态网站
182
查看详情
显示进程信息与PID
要查看是哪个程序打开了某个网络连接,需要显示关联的进程信息:
- netstat -p # 显示进程名和PID
- ss -p # 同样显示进程信息
这个功能在排查可疑连接或确认服务归属时非常有用。注意:部分信息可能因权限不足而无法显示,建议使用 sudo 执行。
结合过滤查看特定连接实际使用中,常配合 grep 进行筛选,例如查找所有SSH相关连接:
- ss -t | grep :22
- netstat -an | grep :80 # 查看HTTP连接
也可以使用 ss 的内置过滤功能:
- ss dst 192.168.1.100 # 查看目标为该IP的连接
- ss state established # 只显示已建立的连接
- ss sport = :http # 源端口为80的连接
netstat 来自 net-tools 包,较老旧,在高负载系统中可能较慢;ss 属于 iproute2 套件,直接从内核获取信息,速度更快,功能更强大。现在很多发行版默认不再安装 netstat,建议掌握 ss 的使用。
基本上就这些。日常排查网络问题时,ss -tulnp 是一个非常实用的组合,能快速列出所有监听端口及对应进程。
以上就是Linux命令行中netstat与ss命令的使用方法的详细内容,更多请关注知识资源分享宝库其它相关文章!
相关标签: linux 端口 工具 linux系统 linux命令 网络问题 ul http udp linux ssh 大家都在看: 如何在Linux命令行中进行文件操作? 如何在Linux中监控网络接口流量? Linux命令行中top与htop命令的对比与使用 如何在Linux命令行中使用alias命令提高效率 如何在Linux中排查网络拥塞?






发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。