除了telnet,教你一招无需安装任何软件检查端口访问的最佳姿势

编程探索课程 2024-05-24 11:16:27

废话不多说,show code。判断我本地redis端口是否能访问:

ssh -v ip -p port

最开始接触到的telnet,需要服务器联网安装软件才能使用,但是今天介绍的ssh,不管是windows还是Linux都是自带的软件,无需任何安装步骤,开箱即用,一招制敌。

telnet检测方式如下:

ssh 监听端口原理详解

SSH(Secure Shell)协议本身并不直接用于判断某个端口是否可访问,它是用来提供一个安全的远程登录和其他网络服务的协议。而telnet命令则是一个简单的TCP连接工具,常用于检查远程主机上的某个端口是否开放,即判断是否可以建立TCP连接。

ssh niubi

不过,可以通过SSH隧道(SSH Tunneling)间接实现类似telnet的功能,即通过SSH的安全通道去探测目标端口是否可达。但这种方式并不是SSH直接提供的功能,而是利用SSH的隧道特性间接达成目的。

SSH隧道的底层原理简述:

建立连接

当执行SSH命令时(如ssh user@remotehost),客户端首先与SSH服务器建立一个加密的连接。这个过程涉及到密钥交换、认证等步骤,确保后续通信的安全性。

隧道创建

一旦认证成功,可以通过SSH配置或命令行参数指定额外的端口转发规则。比如,使用-L(Local forwarding)或-R(Remote forwarding)参数可以建立本地端口到远程端口或远程端口的映射。

数据传输

建立隧道后,所有通过该隧道的数据都会被加密,然后通过SSH连接传输。这包括了你可能用于探测目标端口是否可达的TCP连接尝试。

利用SSH模拟telnet的思路:

如果你想通过SSH来“模拟”telnet“检查一个远程主机的端口是否可达,可以采取以下步骤:

远程执行netcat命令:通过SSH执行一个命令行,比如在远程主机上运行nc -zv <target_host> <port>或telnet <target_host> <port>,但这样实际上是在远程主机上执行telnet,而不是通过SSH隧道直接进行端口探测。端口转发:设置一个SSH端口转发,将本地的一个端口映射到远程主机上的特定端口,然后尝试连接这个本地端口。如果连接成功,说明远程端口可达。这实际上是通过建立一个隧道间接判断,而非直接的端口扫描。

综上,SSH本身不直接实现端口扫描或判断端口可达的功能,但可以借助其安全通道和端口转发能力,间接地帮助进行此类检查。直接的端口探测通常还是依赖于telnet、nc(netcat)、nmap等工具。

未完待续,喜欢的点个关注 谢谢。

创作不易 点个关注 谢谢

1 阅读:33

编程探索课程

简介:感谢大家的关注