Linux 拨号vps windows公众号手机端

如何查看服务器上开放的端口

solewis 8个月前 (11-09) 阅读数 388 #VPS/云服务器

在管理服务器时,了解哪些端口是开放的以及它们对应的服务是非常重要的。这可以帮助你监控潜在的安全风险,确保只有必要的服务在运行。本文将介绍几种常用的命令来查看服务器上开放的端口。

1. 使用 netstat 命令

netstat 是一个网络统计工具,可以显示网络连接、路由表、接口统计信息等。要查看服务器上所有开放的端口,可以使用以下命令:

netstat -tuln
  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示地址和端口号

例如,执行上述命令后,你可能会看到如下输出:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      5678/nginx

这个输出显示了两个监听端口:22(SSH)和80(HTTP)。

2. 使用 ss 命令

ss 是另一个强大的网络工具,用于显示套接字统计信息。它比 netstat 更快,并且提供了更多的功能。要查看所有开放的端口,可以使用以下命令:

ss -tuln
  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示地址和端口号

例如,执行上述命令后,你可能会看到如下输出:

Netid  State      Recv-Q Send-Q       Local Address:Port          Peer Address:Port
tcp    LISTEN     0      128           0.0.0.0:22                 0.0.0.0:*
udp    LISTEN     0      0             0.0.0.0:123                0.0.0.0:*

这个输出显示了两个监听端口:22(SSH)和123(NTP)。

3. 使用 lsof 命令

lsof 是一个列出打开文件的工具,但它也可以用来查看网络连接和监听端口。要查看所有开放的端口,可以使用以下命令:

lsof -i -P -n | grep LISTEN
  • -i:显示符合条件的互联网文件
  • -P:显示端口号而不是服务名称
  • -n:不解析主机名
  • grep LISTEN:过滤出监听状态的端口

例如,执行上述命令后,你可能会看到如下输出:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     1234 root    3u  IPv4  12345      0t0  TCP *:ssh (LISTEN)
nginx    5678 root    6u  IPv6  12345      0t0  TCP *:http (LISTEN)

这个输出显示了两个监听端口:22(SSH)和80(HTTP)。

4. 使用 nmap 命令

nmap 是一个网络扫描工具,用于发现网络上的主机和服务。要扫描本地服务器上的所有开放端口,可以使用以下命令:

nmap -sT -O localhost
  • -sT:进行TCP连接扫描
  • -O:尝试检测操作系统类型

例如,执行上述命令后,你可能会看到如下输出:


Starting Nmap 7.80 ( https://nmap.org ) at 2024-07-17 10:00 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00019s latency).
Not shown: 997 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

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

热门