掌握netstat、ss和lsof命令可高效查看Linux网络连接与端口状态,其中ss为推荐工具,配合grep过滤信息更精准。

在Linux系统中,查看网络连接状态和端口使用情况是日常运维和故障排查的重要操作。以下是一些常用命令及其典型用法,帮助你快速掌握当前系统的网络连接状况。
1. 使用 netstat 查看网络连接
netstat 是一个功能强大的网络统计工具,可以显示活动的网络连接、监听端口、路由表等信息。
常用命令示例:- netstat -tuln:查看当前正在监听的TCP/UDP端口(-t TCP, -u UDP, -l 监听, -n 显示数字地址)
- netstat -anp | grep :80:查看80端口的连接及对应进程
- netstat -tp:显示所有TCP连接,并显示对应的程序名
注意:部分新系统已默认不安装netstat,需通过 net-tools 包安装。
2. 使用 ss 命令替代 netstat
ss(Socket Statistics)是现代Linux推荐使用的工具,比netstat更高效,能获取更详细的socket信息。
常用命令示例:- ss -tuln:列出所有监听的网络端口
- ss -tnp:显示所有TCP连接,包含进程信息
- ss -s:快速查看网络连接统计摘要
ss 在性能和输出速度上优于 netstat,建议优先使用。
3. 查看端口占用与服务关联
当你发现某个端口被占用时,需要定位是哪个进程在使用。
- lsof -i :22:查看22端口(如SSH)被哪个进程占用
- lsof -i TCP:80:查看TCP 80端口的连接情况
- ps -ef | grep 进程名:进一步查看进程详细信息
lsof 命令非常灵活,适合深入排查具体连接来源。
4. 使用 nmap 扫描本地或远程端口(可选)
虽然主要用于安全检测,但 nmap 也可用于查看目标主机的开放端口。
- nmap localhost:扫描本机开放端口
- nmap 192.168.1.100:扫描指定IP的端口状态
需提前安装nmap工具,适用于网络环境诊断。
基本上就这些。掌握 netstat、ss 和 lsof 这几个命令,足以应对大多数Linux下查看网络连接和端口的需求。ss 是未来趋势,建议重点学习。配合 grep 和管道符,能精准过滤出你需要的信息。










