检测特定IP端口是否可达

目录


背景

日常工作中经常需要判定某个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)即可,安装方式不赘述
相关推荐
roman_日积跬步-终至千里32 分钟前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
2的n次方_1 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
郝学胜-神的一滴2 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
天若有情6732 小时前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
胖咕噜的稞达鸭3 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
全栈工程师修炼指南3 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
cur1es3 小时前
【UDP的报文结构】
网络·网络协议·udp·md5
闲人编程4 小时前
使用FastAPI和WebSocket构建高性能实时聊天系统
websocket·网络协议·网络编程·fastapi·持久化·实时聊天·codecapsule
惊讶的猫4 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c4 小时前
TCP协议深入解析
网络·网络协议·tcp/ip