client
import java.net.*; import java.io.*; class TelnetClient { publicstaticvoid 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(); } }
Server
import java.net.*; import java.io.*; import java.lang.*; import java.io.*; import java.util.*; class TelnetServer { publicstaticvoid 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(); } publicvoid 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("TelnetServer.bat " + 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(); } } }
No comments