在Ubuntu系统中,查看系统对外端口是网络管理和系统维护的重要环节。通过查看端口的状态,我们可以了解哪些服务正在运行,哪些端口被占用,以及是否存在潜在的安全风险。以下是几种常用的命令,帮助你轻松查看Ubuntu系统中的对外端口。

一、使用netstat命令

netstat 是一个强大的网络统计工具,可以显示网络连接、路由表、接口统计等信息。要查看某个端口是否可用,可以使用以下命令:

sudo netstat -tuln grep <端口号>

示例

假设你想查看80端口是否开放,可以执行以下命令:

sudo netstat -tuln grep 80

如果80端口开放,你会在输出中看到类似这样的信息:

tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN
tcp6 0 0 :::80 ::: LISTEN

二、使用ss命令

ss 是一个新的网络工具,它可以提供更详细和更快的网络统计信息。要查看某个端口是否可用,可以使用以下命令:

sudo ss -tuln grep <端口号>

示例

同样地,要查看80端口是否开放,可以执行以下命令:

sudo ss -tuln grep 80

如果80端口开放,你会在输出中看到类似这样的信息:

LISTEN 0 128 0.0.0.0:80 0.0.0.0:
LISTEN 0 128 [::]:80 [::]:

三、使用lsof命令

lsof(List Open Files)是一个强大的工具,用来列出系统中打开的文件,包括网络连接、端口等。要查询特定端口(例如 48080)被哪个进程占用,可以使用以下命令:

sudo lsof -i :48080

参数说明

  • COMMAND:进程名(例如 nginx、java)
  • PID:进程的ID(进程标识符)
  • USER:进程的拥有者
  • FD:文件描述符(表示文件类型和打开模式)
  • TYPE:连接类型(IPv4、IPv6)
  • DEVICE、SIZE/OFF、NODE:网络连接的详细信息
  • NAME:端口或IP地址信息

示例输出

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2081361 www 6u IPv6 842221658 0t0 TCP localhost:48080->localhost:49738 (CLOSEWAIT)
java 2081361 www 21u IPv6 842220852 0t0 TCP localhost:48080->localhost:47856 (CLOSEWAIT)

四、使用nmap命令

nmap 是一款非常流行的网络扫描工具,可以用来扫描网络上的开放端口。要使用nmap扫描指定主机的开放端口,可以使用以下命令:

nmap <主机名或IP地址>

示例

要扫描本地主机的开放端口,可以执行以下命令:

nmap localhost

总结

以上就是几种在Ubuntu系统中查看对外端口的常用命令。通过这些命令,你可以轻松地了解系统中哪些端口被占用,以及相应的服务信息。在实际操作中,可以根据具体需求选择合适的命令。