📌  相关文章
📜  如何检查端口是否打开 mac - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:38:50.698000             🧑  作者: Mango

如何检查端口是否打开 - Mac Shell/Bash

在编写网络程序时,经常需要检查端口是否打开。本文将介绍在Mac的Shell/Bash环境中如何检查端口是否打开。

1. 使用telnet命令

使用telnet命令可以检查端口是否打开。telnet是一种应用程序,它将终端作为与远程主机的交互界面,以便在远程主机上进行基于文本的通信。

以下命令将检查本地主机的80端口是否打开:

telnet localhost 80

如果80端口打开,则你将看到如下输出:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

否则,你将看到如下输出:

Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
2. 使用nc命令

nc命令是一个在Unix和Linux系统上使用的用于在网络上处理数据的工具。它可以用来检查端口是否打开。

以下命令将检查本地主机的80端口是否打开:

nc -zv localhost 80

如果80端口打开,则你将看到如下输出:

Connection to localhost port 80 [tcp/http] succeeded!

否则,你将看到如下输出:

nc: connectx to localhost port 80 (tcp) failed: Connection refused
nc: connectx to localhost port 80 (tcp) failed: Connection refused
3. 使用lsof命令

lsof命令是一种检查哪些文件被打开、哪些进程正在使用这些文件的工具。它也可以用来检查端口是否打开。

以下命令将检查是否有进程正在使用本地主机的80端口:

sudo lsof -i :80

如果有进程正在使用80端口,则你将看到如下输出:

COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
httpd   1064    root    4u  IPv6 0xd8d1dc9b02d436fb      0t0  TCP *:http (LISTEN)
httpd   1073   _www    4u  IPv6 0xd8d1dc9b02d436fb      0t0  TCP *:http (LISTEN)

否则,你将看到空输出。

以上是在Mac Shell/Bash环境中检查端口是否打开的三种方法。每种方法都有其优点和适用场景。希望本文能对你有所帮助。