代码如下:
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.net.SocketException;
import org.apache.commons.net.telnet.TelnetClient;
public class WindowsShell {
TelnetClient telnet = new TelnetClient("VT220");
InputStream in;
PrintStream out;
String prompt = ">";
public WindowsShell(String ip, int port, String user, String password) {
try {
telnet.connect(ip, port);
in = telnet.getInputStream();
out = new PrintStream(telnet.getOutputStream());
login(user, password);
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
* 读取分析结果
* @param pattern
* @return
public String readUntil(String pattern) {
try {
char lastChar = pattern.charAt(pattern.length() - 1);
StringBuffer sb = new StringBuffer();
char ch = (char) in.read();
while (true) {
sb.append(ch);
if (ch == lastChar) {
if (sb.toString().endsWith(pattern)) {
return sb.toString();
ch = (char) in.read();
// System.out.print(ch);
} catch (Exception e) {
e.printStackTrace();
return null;
* 写操作
* @param value
public void write(String value) {
try {
out.println(value);
out.flush();
} catch (Exception e) {
e.printStackTrace();
* 向目标发送命令字符串
* @param command
* @return
public String sendCommand(String command) {
try {
write(command);
return readUntil(prompt + "");
} catch (Exception e) {
e.printStackTrace();
return null;
* @param user
* @param password
public void login(String user, String password) {
// read()Until("login:");
readUntil("login:");
write(user);
readUntil("password:");
write(password);
readUntil(prompt + "");
* 关闭连接
public void disconnect() {
try {
telnet.disconnect();
} catch (Exception e) {
e.printStackTrace();
public static void main(String[] args) {
WindowsShell ws = new WindowsShell("192.168.100.100", 23, "Administrator", "123456");
// System.out.println(ws);
// 执行的命令
String str = ws.sendCommand("ipconfig");
str = new String(str.getBytes("ISO-8859-1"),"GBK");
}catch(UnsupportedEncodingException e){
e.printStackTrace();
System.out.println(str);
ws.disconnect();
运行后报错如下:
![]()
这样应该如何解决呢?
"
企业邮箱发送邮件时,若出现投递失败产生退信,内容提示包含如下: the mta server of * reply:550 failed to meet SPF requirements 或者 the mta server of 163.com — 163mx01.mxmail.netease.com(220.181.14.141) reply:550 MI:SPF mx14,QMCowECpA0qTiftVaeB3Cg—.872S2 1442548128 http://mail.163.com/help
299177
Java Spring cron表达式使用详解
Nginx filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示
Entity-Boundary-Interactor(EBI)介绍
gRPC阅读日记(二)
Docker分享-用工具来测试Dockertest