目录
背景
日常工作中经常需要判定某个IP的端口是否可达,之前一直使用telnet
工具,但今天遇到在某特定的设备上没有该工具(软件源里也没有,无法安装)的问题,于是以此契机稍微研究了下其他的检测方式,整理在此。
方法
方法一:使用nmap
首先确保计算机已安装nmap。
然后在终端或者控制台下执行nmap命令:
bash
nmap -p <端口号> <设备IP地址>
将<端口号>替换为要检测的端口号,将<设备IP地址>替换为局域网内其他设备的实际IP地址。例如:
bash
nmap -p 80 192.168.1.100
查看nmap的输出结果,如果端口是开放的,将看到类似以下的输出:
bash
PORT STATE SERVICE
80/tcp open http
如果端口是关闭的,将看到以下输出:
bash
PORT STATE SERVICE
80/tcp closed http
方法二:使用telnet
首先确保计算机已安装telnet客户端。
打开终端或控制台,输入以下命令:
bash
telnet <设备IP地址> <端口号>
将<设备IP地址>替换为局域网内其他设备的实际IP地址,将<端口号>替换为要检测的端口号。例如:
bash
telnet 192.168.1.100 80
查看telnet的输出结果。如果端口是开放的,将看到类似以下的输出:
bash
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
如果端口是关闭的,将看到以下输出:
bash
Trying 192.168.1.100...
telnet: Unable to connect to remote host: Connection refused
注意:
- telnet方法可能不如nmap方法准确,因为telnet客户端可能无法检测非telnet服务的端口。在这种情况下,建议使用nmap
- 上述两种方式在Windows、Mac和Linux上都适用,只需要安装相应的软件包(nmap或telnet)即可,安装方式不赘述