TLDR
macOS下, 验证服务器端口是否连通的方法
- [telnet](# telnet)
- [nc](# netcat(nc))
- [nmap](# nmap)
tip: 扫描端口时,需要注意不要违反网络安全规定,避免对他人的网络造成不必要的干扰和损害。
背景
网络相关的记忆, 都就着饭吃到肚子里了🙄
今天需要验证服务器端口是否可以连通, 找到了几种方法, 简单记录一下
telnet
telnet
命令是一个用于测试网络连接的工具,可以模拟客户端与服务器之间的连接,以检查服务器端口是否可以正常连接。telnet
命令最初是由美国计算机科学家 Simon S. Lam 开发的,用于在 UNIX 系统上测试网络连接。后来,telnet
命令被广泛应用于各种操作系统和网络设备中,成为了一种通用的网络测试工具。
telnet
命令可以通过终端或命令行界面使用,可以连接到任何支持 TCP 或 UDP 协议的服务器,以测试服务器端口是否可以正常连接。telnet
命令可以模拟客户端与服务器之间的连接,可以发送和接收数据,以检查服务器的响应是否正常。telnet
命令通常用于测试 Web 服务器、邮件服务器、FTP 服务器等等,以确保这些服务器可以正常工作。
安装
macOS M1
brew install telnet
使用
- 打开terminal
- 输入命令
telnet server port
. Eg:telnet localhost 5910
- 敲回车
- 如果出现下方格式的内容, 证明相应的服务、端口可以连通
Trying ::1...
Connected to localhost.
Escape character is '^]'.
- 按下
ctrl + ]
, 再输入quit
, 回车. 即可退出telnet命令
netcat(nc)
nc
命令是一个用于测试网络连接的工具,也称为 netcat。它可以用于创建 TCP 或 UDP 连接,发送和接收数据,以及监听端口等操作。nc
命令最初是由开发者 Hobbit 开发的,后来被其他开发者维护和扩展,成为了一个通用的网络工具。
nc
命令是开源的,可以在 GitHub 上找到相关的源代码。nc
命令的源代码托管在多个仓库中,其中一些仓库包含了不同版本的nc
命令实现
安装
macOS 13.4 自带nc, 无需安装
使用
- 打开terminal
- 输入
nc -zv localhost 5910
, 敲回车 - 如果出现如下格式的信息, 证明连接成功
Connection to localhost port 5910 [tcp/*] succeeded!
- 如果出现如下格式的信息, 则连接失败
nc: connectx to localhost port 5911 (tcp) failed: Connection refused
常用参数
-zv
参数表示在扫描端口时,不发送数据,只显示详细信息。-z
参数表示只扫描端口,不发送数据,-v
参数表示显示详细信息。因此,-zv
参数的含义是只扫描端口,并显示详细信息,但不发送数据。这个参数通常用于快速检查服务器端口是否开启。
-l
:监听模式,用于在指定端口上监听连接请求。-p
:指定端口号。-u
:使用 UDP 协议。-w
:设置超时时间。-z
:只扫描端口,不发送数据。-v
:显示详细信息。
nmap
nmap
命令是一个用于网络探测和安全审计的工具,可以用于扫描主机和端口,识别操作系统和服务等。nmap
命令最初是由开发者 Fyodor(Gordon Lyon)开发的,后来被其他开发者维护和扩展,成为了一个通用的网络工具。
nmap
命令是开源的,您可以在 GitHub 上找到相关的源代码。nmap
命令的源代码托管在官方的 Git 仓库中,您可以通过以下链接访问:
- [https://github.com/nmap/nmap](vscode-file://vscode-app/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/code/electron-sandbox/workbench/workbench.html)
安装
macOS M1
brew install nmap
使用
扫描常用端口
- 打开terminal
- 输入
nmap localhost
, 敲回车 - 显示结果(默认只扫描常用的1000个端口)
Starting Nmap 7.94 ( https://nmap.org ) at 2023-07-19 11:04 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 995 closed tcp ports (conn-refused)
PORT STATE SERVICE
5910/tcp open cm
8080/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
扫描指定端口
- 打开terminal
- 输入
nmap -p 5910 localhost
, 敲回车 - 显示结果
Starting Nmap 7.94 ( https://nmap.org ) at 2023-07-19 11:18 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Other addresses for localhost (not scanned): ::1
PORT STATE SERVICE
5910/tcp open cm
Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds