TelnetServer.java
// Telnet server
import java.net.*;
import java.io.*;
import java.lang.*;
import java.io.*;
import java.util.*;
class TelnetServer {
public static void main(String args[]) throws Exception {
ServerSocket Soc = new ServerSocket(5217);
while (true) {
Socket CSoc = Soc.accept();
AcceptTelnetClient ob = new AcceptTelnetClient(CSoc);
}
}
}
class AcceptTelnetClient extends Thread {
Socket ClientSocket;
DataInputStream din;
DataOutputStream dout;
String LoginName;
String Password;
AcceptTelnetClient(Socket CSoc) throws Exception {
ClientSocket = CSoc;
System.out.println("Client Connected ...");
DataInputStream din = new DataInputStream(ClientSocket.getInputStream());
DataOutputStream dout = new DataOutputStream(ClientSocket.getOutputStream());
System.out.println("Waiting for UserName And Password");
LoginName = din.readUTF();
Password = din.readUTF();
start();
}
public void run() {
try {
DataInputStream din = new DataInputStream(ClientSocket.getInputStream());
DataOutputStream dout = new DataOutputStream(ClientSocket.getOutputStream());
BufferedReader brFin = new BufferedReader(new FileReader("Passwords.txt"));
String LoginInfo = new String("");
boolean allow = false;
while ((LoginInfo = brFin.readLine()) != null) {
StringTokenizer st = new StringTokenizer(LoginInfo);
if (LoginName.equals(st.nextToken()) && Password.equals(st.nextToken())) {
dout.writeUTF("ALLOWED");
allow = true;
break;
}
}
brFin.close();
if (allow == false) {
dout.writeUTF("NOT_ALLOWED");
}
while (allow) {
String strCommand;
strCommand = din.readUTF();
if (strCommand.equals("quit")) {
allow = false;
} else {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("cmd /c " + strCommand);
String stdout = new String("");
String st;
DataInputStream dstdin = new DataInputStream(p.getInputStream());
while ((st = dstdin.readLine()) != null) {
stdout = stdout + st + "\n";
}
dstdin.close();
dout.writeUTF(stdout);
}
}
ClientSocket.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
TelnetClient.java
// Telnet Client
import java.net.*;
import java.io.*;
class TelnetClient {
public static void main(String args[]) throws Exception {
Socket soc = new Socket("127.0.0.1", 5217);
String LoginName;
String Password;
String Command;
DataInputStream din = new DataInputStream(soc.getInputStream());
DataOutputStream dout = new DataOutputStream(soc.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Welcome to Telnet Client");
System.out.println("Your Credential Please...");
System.out.print("Login Name :");
LoginName = br.readLine();
System.out.print("Password :");
Password = br.readLine();
dout.writeUTF(LoginName);
dout.writeUTF(Password);
if (din.readUTF().equals("ALLOWED")) {
do {
System.out.print("< Telnet Prompt >");
Command = br.readLine();
dout.writeUTF(Command);
if (!Command.equals("quit")) {
System.out.println(din.readUTF());
}
} while (!Command.equals("quit"));
}
soc.close();
}
}
Passwords.txt
admin password