Fork me on GitHub

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

posted @   龙凌云端  阅读(11000)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示