java代码执行telnet命令查看是否通(ip和端口连在一起)
时间: 2023-07-06 18:04:42 浏览: 138
JAVA中检查网络是否是通的
可以使用 Java 的 Runtime 类和 Process 类来执行 telnet 命令,并判断是否连接成功。下面是一个示例代码:
```java
import java.io.IOException;
public class TelnetTester {
public static void main(String[] args) {
String ip = "127.0.0.1"; // 要测试的 IP 地址
int port = 80; // 要测试的端口号
String command = "telnet " + ip + " " + port;
try {
Process process = Runtime.getRuntime().exec(command);
// 获取 telnet 命令的输出结果
String output = readOutput(process);
// 判断 telnet 命令的输出结果是否包含 "Escape character is '^]'",如果包含则表示连接成功
if (output.contains("Escape character is '^]'")) {
System.out.println("Telnet connection to " + ip + ":" + port + " succeeded.");
} else {
System.out.println("Telnet connection to " + ip + ":" + port + " failed.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static String readOutput(Process process) throws IOException {
StringBuilder output = new StringBuilder();
int bytesRead;
byte[] buffer = new byte[1024];
while ((bytesRead = process.getInputStream().read(buffer)) > 0) {
output.append(new String(buffer, 0, bytesRead));
}
return output.toString();
}
}
```
在上面的代码中,我们首先构造了要执行的 telnet 命令,然后使用 Runtime 类的 exec() 方法执行该命令。接着,我们通过 readOutput() 方法获取 telnet 命令的输出结果,并判断是否包含指定的字符串来判断连接是否成功。最后,根据连接成功与否输出相应的结果。
阅读全文