|
@@ -89,13 +89,13 @@ public class TELNET implements Protocol {
|
|
|
|
|
|
switch (state) {
|
|
|
case NONE:
|
|
|
- responsePackets.add(new Packet(optionRequest));
|
|
|
+ responsePackets.add(new Packet(optionRequest, toString()));
|
|
|
state = STATE.OPEN;
|
|
|
break;
|
|
|
case OPEN:
|
|
|
if (request != null) {
|
|
|
- responsePackets.add(new Packet(getOptionResponse(request)));
|
|
|
- responsePackets.add(new Packet(login + "login: "));
|
|
|
+ responsePackets.add(new Packet(getOptionResponse(request), toString()));
|
|
|
+ responsePackets.add(new Packet(login + "login: ", toString()));
|
|
|
state = STATE.LOGIN;
|
|
|
}
|
|
|
break;
|
|
@@ -107,10 +107,10 @@ public class TELNET implements Protocol {
|
|
|
byte[] buffer = new byte[request.length - 2];
|
|
|
System.arraycopy(request, 0, buffer, 0, request.length - 2);
|
|
|
user = HelperUtils.concat(user, buffer);
|
|
|
- responsePackets.add(new Packet(buffer));
|
|
|
+ responsePackets.add(new Packet(buffer, toString()));
|
|
|
}
|
|
|
- responsePackets.add(new Packet("\r\n"));
|
|
|
- responsePackets.add(new Packet("password: "));
|
|
|
+ responsePackets.add(new Packet("\r\n", toString()));
|
|
|
+ responsePackets.add(new Packet("password: ", toString()));
|
|
|
state = STATE.AUTHENTICATE;
|
|
|
if (serverVersion.contains("Windows")) {
|
|
|
sessionToken = HelperUtils.concat("C:\\Users\\".getBytes(), user, ">".getBytes());
|
|
@@ -126,7 +126,7 @@ public class TELNET implements Protocol {
|
|
|
byte[] tmp = new byte[user.length - 1];
|
|
|
System.arraycopy(user, 0, tmp, 0, user.length - 1);
|
|
|
user = tmp;
|
|
|
- responsePackets.add(new Packet("\b \b"));
|
|
|
+ responsePackets.add(new Packet("\b \b", toString()));
|
|
|
break;
|
|
|
} else if (!checkForByte(request, (byte) 0xff)) {
|
|
|
if (user == null)
|
|
@@ -140,11 +140,11 @@ public class TELNET implements Protocol {
|
|
|
if (request == null)
|
|
|
break;
|
|
|
else if (checkForByte(request, (byte) 0x0d)) {
|
|
|
- responsePackets.add(new Packet("\r\n"+serverBanner));
|
|
|
- responsePackets.add(new Packet(sessionToken));
|
|
|
+ responsePackets.add(new Packet("\r\n"+serverBanner, toString()));
|
|
|
+ responsePackets.add(new Packet(sessionToken, toString()));
|
|
|
state = STATE.LOGGED_IN;
|
|
|
} else if (checkForByte(request, (byte) 0x7f)) {
|
|
|
- responsePackets.add(new Packet("\b \b"));
|
|
|
+ responsePackets.add(new Packet("\b \b", toString()));
|
|
|
}
|
|
|
break;
|
|
|
case LOGGED_IN:
|
|
@@ -155,20 +155,20 @@ public class TELNET implements Protocol {
|
|
|
byte[] buffer = new byte[request.length - 2];
|
|
|
System.arraycopy(request, 0, buffer, 0, request.length - 2);
|
|
|
command = HelperUtils.concat(command, buffer);
|
|
|
- responsePackets.add(new Packet(buffer));
|
|
|
+ responsePackets.add(new Packet(buffer, toString()));
|
|
|
}
|
|
|
if (command == null) {
|
|
|
- responsePackets.add(new Packet("\r\n"));
|
|
|
- responsePackets.add(new Packet(sessionToken));
|
|
|
+ responsePackets.add(new Packet("\r\n", toString()));
|
|
|
+ responsePackets.add(new Packet(sessionToken, toString()));
|
|
|
} else if (new String(command).contains("exit")) {
|
|
|
- responsePackets.add(new Packet("\r\nlogout\r\n"));
|
|
|
+ responsePackets.add(new Packet("\r\nlogout\r\n", toString()));
|
|
|
state = STATE.CLOSED;
|
|
|
} else {
|
|
|
String bash = "\r\n-bash: " + new String(command)
|
|
|
+ ": command not found";
|
|
|
- responsePackets.add(new Packet(bash));
|
|
|
- responsePackets.add(new Packet("\r\n"));
|
|
|
- responsePackets.add(new Packet(sessionToken));
|
|
|
+ responsePackets.add(new Packet(bash, toString()));
|
|
|
+ responsePackets.add(new Packet("\r\n", toString()));
|
|
|
+ responsePackets.add(new Packet(sessionToken, toString()));
|
|
|
command = null;
|
|
|
}
|
|
|
} else if (checkForByte(request, (byte) 0x7f) && command != null
|
|
@@ -176,7 +176,7 @@ public class TELNET implements Protocol {
|
|
|
byte[] tmp = new byte[command.length - 1];
|
|
|
System.arraycopy(command, 0, tmp, 0, command.length - 1);
|
|
|
command = tmp;
|
|
|
- responsePackets.add(new Packet("\b \b"));
|
|
|
+ responsePackets.add(new Packet("\b \b", toString()));
|
|
|
break;
|
|
|
} else if (!checkForByte(request, (byte) 0xff)) {
|
|
|
if (command == null)
|
|
@@ -187,7 +187,7 @@ public class TELNET implements Protocol {
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
- responsePackets.add(new Packet("\r\nlogout\r\n"));
|
|
|
+ responsePackets.add(new Packet("\r\nlogout\r\n", toString()));
|
|
|
state = STATE.CLOSED;
|
|
|
break;
|
|
|
}
|