Java 实现 telnet命令 验证主机端口的连通性
Java 实现 telnet命令 验证主机端口的连通性
1、Telnet 命令
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
我们经常使用 telnet命令 测试主机端口的连通性(比如: 验证 www.baidu.com 80端口的连通性,如下状态说明80端口是通的)。
2、Java 实现 telnet 主机端口
1)代码实现如下:
import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; /** * @author Miracle Luna * @version 1.0 * @date 2019/12/16 16:11 */ public class TelnetUtil { /** * 测试telnet 机器端口的连通性 * @param hostname * @param port * @param timeout * @return */ public static boolean telnet(String hostname, int port, int timeout){ Socket socket = new Socket(); boolean isConnected = false; try { socket.connect(new InetSocketAddress(hostname, port), timeout); // 建立连接 isConnected = socket.isConnected(); // 通过现有方法查看连通状态 // System.out.println(isConnected); // true为连通 } catch (IOException e) { System.out.println("false"); // 当连不通时,直接抛异常,异常捕获即可 }finally{ try { socket.close(); // 关闭连接 } catch (IOException e) { System.out.println("false"); } } return isConnected; } public static void main(String[] args) { // String hostname = "14.215.178.37"; String hostname = "www.baidu.com"; // hostname 可以是主机的 IP 或者 域名 int port = 80; int timeout = 200; boolean isConnected = telnet(hostname, port, timeout); System.out.println("telnet "+ hostname + " " + port + "\n==>isConnected: " + isConnected); } }
2)运行结果如下:
telnet www.baidu.com 80
==>isConnected: true
PS:
Java 实现 bash命令
https://www.cnblogs.com/miracle-luna/p/12050728.html
Java 实现 ssh命令 登录主机执行shell命令
https://www.cnblogs.com/miracle-luna/p/12050367.html
Java 实现 telnet命令 验证主机端口的连通性
https://www.cnblogs.com/miracle-luna/p/12049658.html
Java 检查IPv6地址的合法性
https://www.cnblogs.com/miracle-luna/p/12041780.html
Java 实现判断 主机是否能 ping 通
https://www.cnblogs.com/miracle-luna/p/12026797.html