Putkittaa liikenteen valittuun targettiin...
Testaus:
1) Aja
2) telnet localhost 2222
3) ihmettele
IrcProxy.java
package com.freakz.ircproxy;
import sun.security.krb5.internal.LoginOptions;
import sun.util.LocaleServiceProviderPool;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* Created by IntelliJ IDEA.
* User: petria
* Date: 2/1/11
* Time: 3:30 PM
*/
public class IrcProxy {
private static java.util.logging.Logger LOG
= java.util.logging.Logger.getLogger("com.freakz.ircproxy");
public static void main(String[] args) throws Exception {
ServerSocket sSocket = new ServerSocket(2222);
while (true) {
LOG.info("Waiting connection....");
Socket socket = sSocket.accept();
LOG.info("Got connection: " + socket);
Forwarder f = new Forwarder("irc.elisa.fi", 6667);
f.startForward(socket);
}
}
}Forwarder.java
package com.freakz.ircproxy;
import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* Created by IntelliJ IDEA.
* User: petria
* Date: 2/1/11
* Time: 3:36 PM
*/
public class Forwarder {
private static java.util.logging.Logger LOG
= java.util.logging.Logger.getLogger("com.freakz.ircproxy");
private String _host;
private int _port;
public static class Runner implements Runnable {
Socket _fromSocket;
Socket _toSocket;
public Runner(Socket fromSocket, Socket toSocket) {
_fromSocket = fromSocket;
_toSocket = toSocket;
}
public void start() {
Thread t = new Thread(this);
t.start();
}
public void run() {
LOG.info("Starting forward FROM: " + _fromSocket + " --> TO: " + _toSocket);
try {
BufferedReader fromReader = new BufferedReader(new InputStreamReader(_fromSocket.getInputStream()));
BufferedWriter toWriter = new BufferedWriter(new OutputStreamWriter(_toSocket.getOutputStream()));
String line = null;
while (true) {
line = fromReader.readLine();
if (line != null) {
LOG.info("Forward line: '" + line + "'");
toWriter.write(line + "\n");
toWriter.flush();
} else {
break;
}
}
LOG.info("EXITING loop!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public Forwarder(String host, int port) {
_host = host;
_port = port;
}
public void startForward(Socket fromSocket) throws IOException {
Socket toSocket = new Socket(_host, _port);
Runner toFrom = new Runner(toSocket, fromSocket);
Runner fromTo = new Runner(fromSocket, toSocket);
toFrom.start();
fromTo.start();
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.