1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
public class KillClass {
public static enum State { LOGIN, PASSWORD, GREP, KILL };
public static void main(String[] args) {
Socket s = new Socket("123.456.123.456", 23);
InputStreamReader in = new InputStreamReader(s.getInputStream());
int character;
String buffer = "";
State currentState = State.LOGIN;
while ( (character = in.read()) != -1) {
buffer += (char)character;
if (currentState.equals(State./*xxx*/) {
/* blablabla */
}
/* else if etc... */
else if (currentState.equals(State.GREP)) {
if (buffer.endsWith("login@server:~$")) {
// on fait le traitement
// (récup' PID & envoi commande kill)
currentState = State.KILL; // prochaine étape.
buffer = ""; // on réinitialise le buffer pour la suite
}
else {
// on ne fait rien, on attend la suite.
}
}
}
}
}
} |
Partager