在Linux中如何查看端口状态?

  网络端口是Linux服务器与外部通信的门户,查看端口开放、监听、连接状态,是排查网络故障、验证服务启动、防范端口扫描攻击的关键操作。那么Linux如何查看网络端口状态?以下是具体内容介绍。

  ss命令:现代高效的网络状态查看工具

  ss(Socket Statistics)是较新的工具,用来替代netstat。它直接从内核获取信息,因此速度更快,资源占用更少。

  常用选项包括:

  -t:显示TCP连接

  -u:显示UDP连接

  -l:列出监听状态的端口

  -p:显示进程信息

  -n:以数字形式显示地址和端口

  -a:显示所有连接(包括监听和非监听)

  例如,查看所有TCP监听端口及对应进程:

  ss -tlnp

  输出中,Local Address:Port 表示本地监听的IP和端口,PID/Program name 显示占用端口的进程信息。

  netstat命令:传统但广泛兼容的网络工具

  netstat(Network Statistics)是较老的工具,功能全面,几乎所有Linux发行版都默认支持。

  常用参数有:

  -t:TCP协议

  -u:UDP协议

  -l:监听状态

  -p:显示进程PID和名称

  -n:不解析主机名和服务名

  -a:所有连接状态

  查看所有监听端口的命令:

  netstat -tulnp

  该命令会列出当前系统中所有正在监听的网络端口,并附带协议类型、本地地址、进程ID等信息。

  ss与netstat的主要区别

  性能:ss读取/proc/net/和netlink接口,比netstat解析/proc文件更高效

  依赖性:netstat属于net-tools包,许多新系统已不再默认安装;ss属于iproute2,现代系统普遍预装

  输出速度:在连接数较多时,ss响应明显更快

  功能扩展:ss支持更多过滤方式,如按端口范围、状态筛选


请使用浏览器的分享功能分享到微信等