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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM