Java 实现 telnet命令 验证主机端口的连通性
1、Telnet 命令
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
我们经常使用 telnet命令 测试主机端口的连通性(比如: 验证 www.baidu.com 80端口的连通性,如下状态说明80端口是通的)。
2、Java 实现 telnet 主机端口
1)代码实现如下:
importjava.io.IOException;importjava.net.InetSocketAddress;importjava.net.Socket;/***@authorMiracle Luna
*@version1.0
* @date 2019/12/16 16:11*/
public classTelnetUtil {/*** 测试telnet 机器端口的连通性
*@paramhostname
*@paramport
*@paramtimeout
*@return
*/
public static boolean telnet(String hostname, int port, inttimeout){
Socket socket= newSocket();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");
}
}returnisConnected;
}public static voidmain(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: