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
