telnet 测试某端口是否可用

时间:2021-10-10 05:46:28

   领导让用java 类 写一个 telnet 测试某机器的端口是否可用,查约好多资料,最后根据网上提示 写了一个小工具类,不知道是不是有用,也不知道是不是有不妥的地方,还请众大神多指教。

    需求给出一个 IP地址和一个端口号,用此方法可以测出该端口是否可用,如果可用返回true,否则返回false。具体代码如下:

package com.nms.www.util;


import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;

import org.apache.commons.net.telnet.TelnetClient;

public class TcpServiceStatus {

     /** 新建一个TelnetClient对象 */
    private TelnetClient telnetClient = new TelnetClient();
    /** 向 服务器写入 命令 */
    private PrintStream out;
    /** 输入流,接收返回信息 */
    private InputStream in;
    
    public boolean telnet(String ip, Integer port){
        if ((ip != null && !ip.equals("")) && (port != null && port != 0)) {
            try {
                telnetClient.connect(ip, port);
                in = telnetClient.getInputStream();
                out = new PrintStream(telnetClient.getOutputStream());
                return true;
            } catch (Exception e) {
                return false;
            }finally{
                try {
                    telnetClient.disconnect();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }else{
            return false;
        }
    }
    /**
     * 测试方法,完成后请删除!!!
     * @param args
     */
    public static void main(String[] args) {
        TcpServiceStatus telnetTest = new TcpServiceStatus();
        boolean b = telnetTest.telnet("192.168.100.118", 8080);
        System.out.println(b);
    }
}
需要用到  commons-net-2.0.jar  

jar和工具类 下载地址: http://download.csdn.net/download/dejie0806/10040252

要感谢 网上不知名的大神,更不知道原始出处是谁,在此没有办法标注,还请见谅!