15%

Alexhost 满足您的愿望

参与调查 并赢得奖品

25.12.2024

在Linux中使用Netstat和SS检查开放和监听端口

在Linux中使用netstat和ss检查开放和监听端口

监控Linux系统上的开放和监听端口是维护系统安全、进行网络故障排除和有效管理您的服务器基础设施的重要实践。通过定期检查哪些端口是开放的以及哪些服务正在使用它们,您可以识别潜在的安全风险,检测未经授权的访问尝试,并确保您的系统不会暴露于不必要的漏洞。

了解哪些服务绑定到特定端口还有助于检测配置错误意外行为,例如在敏感端口上监听的未知进程。这一知识显著降低了安全漏洞的风险,使您能够关闭未使用的端口或妥善保护活动端口。

在本文中,我们将解释如何使用netstatss命令检查Linux系统上的开放和监听端口。

理解端口及其类型

在使用这些工具之前,了解您可能遇到的基本端口类型是很重要的:

  • 开放端口:应用程序正在积极监听传入连接的端口。
  • 监听端口:绑定到等待网络流量的服务或应用程序的端口。
  • 常见协议:
    • TCP:传输控制协议,面向连接且可靠。
    • UDP:用户数据报协议,无连接,速度更快但可靠性较低。

使用netstat检查端口

什么是netstat?

netstat是一个经典的命令行工具,提供网络统计信息和网络连接的信息,包括开放和监听端口。尽管它已被更新的工具如ss所取代,但在许多系统上仍然被广泛使用。

安装netstat

netstat命令是net-tools包的一部分。在现代Linux发行版中,可能需要手动安装。

Debian / Ubuntu

sudo apt install net-tools

CentOS / RHEL

sudo yum install net-tools

使用netstat检查开放和监听端口

要显示系统上所有监听的TCP和UDP端口,请运行:

sudo netstat -tuln

  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅显示监听端口
  • -n:显示数字地址而不是解析主机名

理解输出

  • 本地地址:服务正在监听的IP地址和端口。
  • 外部地址:活动连接的远程IP和端口。
  • 状态:连接状态,例如
    LISTEN
    表示开放端口。

使用netstat过滤特定端口或服务

您可以过滤输出以关注特定端口或服务。例如,要检查监听在端口80(HTTP)上的服务:

sudo netstat -tuln | grep ":80"

此命令显示所有监听在端口80上的服务。

使用ss检查端口

什么是ss?

ss是一个现代工具,已在许多Linux发行版中取代了netstat。它更快且更高效,特别是在具有大量网络连接的系统上。ss命令可以显示开放端口、套接字统计信息和详细的网络信息。

使用ss检查开放和监听端口

ss的语法与netstat相似。要列出所有监听的TCP和UDP端口,请运行:

ss -tuln

  • -t:显示TCP套接字
  • -u:显示UDP套接字
  • -l:显示监听套接字
  • -n:显示数字地址

输出提供了所有监听端口及其状态的清晰概述。

ss的高级用法

ss命令提供了更高级的过滤选项以进行更详细的分析。

仅显示监听的TCP端口

ss -tl

仅显示监听的UDP端口

ss -ul

显示与进程ID关联的监听端口

要识别哪个进程正在使用特定端口,请运行:

ss -tulnp

-p选项显示与每个监听端口关联的进程名称和PID,这对于故障排除非常有用。

比较netstat和ss

这两种工具的目的相似,但有重要的区别:

  • 性能:ssnetstat更快且更高效,特别是在繁忙的系统上。
  • 可用性:ss在大多数现代Linux发行版中默认包含,而netstat可能需要手动安装。
  • 过滤选项:ss提供了更高级的过滤和显示功能。

何时使用netstat

  • 在较旧的Linux系统上。
  • 如果您已经熟悉netstat语法。

何时使用ss

  • 当需要更好的性能时。
  • 用于高级网络分析和过滤。

检查开放端口的其他工具

除了netstatss,还可以使用其他工具检查开放和监听端口。

使用lsof

lsof列出开放文件,包括网络套接字。要检查哪个进程正在使用端口80:

sudo lsof -i :80

此命令显示绑定到端口80的进程。

使用nmap

nmap是一个网络扫描工具,可以用于检测系统上的开放端口:

sudo nmap -sT localhost

此命令扫描本地计算机上的TCP端口。

结论

监控开放和监听端口是Linux系统管理员的一项关键任务。像netstatss这样的工具使识别活动服务、故障排除网络问题和增强服务器安全变得容易。

虽然netstat在较旧的系统上仍然有用,但由于其速度和效率,ss是现代Linux环境的首选。无论您是在保护Linux服务器还是诊断网络行为,这些工具都提供了有效管理开放端口所需的可见性。

15%

Alexhost 满足您的愿望

参与调查 并赢得奖品