Linux系统上检查本机端口是否开通

  在Linux系统中,检查本机端口是否开通(即是否有服务在监听该端口)可以通过多种方法实现。以下是几种常用的方法:

方法1:使用netstat

netstat是一个常用的网络工具,可以查看系统上的网络连接和监听端口。
运行以下命令:
sudo netstat -tulnp | grep 8088
  • -t:显示TCP端口。
  • -u:显示UDP端口。
  • -l:仅显示监听状态的端口。
  • -n:以数字形式显示IP地址和端口。
  • -p:显示监听该端口的进程信息(需要sudo权限)。
如果端口8088上有服务在监听,会看到类似以下的输出:
tcp 0 0 0.0.0.0:8088            0.0.0.0:*     LISTEN        1234/my_service
如果没有服务在监听,该命令不会输出任何内容。

方法2:使用ss

ss是一个更现代的工具,功能类似于netstat,并且在某些系统中可能更推荐使用。
运行以下命令:
sudo ss -tulnp | grep 8088
参数含义与netstat类似:
  • -t:显示TCP端口。
  • -u:显示UDP端口。
  • -l:仅显示监听状态的端口。
  • -n:以数字形式显示IP地址和端口。
  • -p:显示监听该端口的进程信息。
如果端口8088上有服务在监听,会看到类似以下的输出:
tcp LISTEN 0 128 *:8088         *:* users:(("my_service",pid=1234,fd=3))
如果没有服务在监听,该命令不会输出任何内容。

方法3:使用lsof

lsof(list open files)可以列出系统中打开的文件和网络连接。
运行以下命令:
sudo lsof -i :8088
如果端口8088上有服务在监听,会看到类似以下的输出:
COMMAND    PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
my_service 1234  user   3u   IPv4   0x123456789abcdef      0t0  TCP *:8088(LISTEN)
如果没有服务在监听,该命令不会输出任何内容。

方法4:使用nmap扫描本机

虽然nmap通常用于扫描远程主机,但也可以用来扫描本机端口。
运行以下命令:
nmap -p 8088 127.0.0.1
或者:
nmap -p 8088 localhost
如果端口4430是开放的,会看到类似以下的输出:
PORT     STATE    SERVICE
8088/tcp open     unknown
如果端口未开放,你会看到:
PORT     STATE    SERVICE
8088/tcp closed   unknown

总结

  • 如果只想快速检查端口是否被监听,选择netstatss最快捷。
  • 如果想查看监听该端口的进程信息,选择lsof
  • 如果想使用更通用的扫描工具,选择nmap可以用于检查本机端口。