Browse Source

added a helper method to do the iptables stuff and redirect the ports

Daniel Lazar 9 years ago
parent
commit
2708e96edf

+ 6 - 0
src/de/tudarmstadt/informatik/hostage/commons/HelperUtils.java

@@ -16,6 +16,7 @@ import org.apache.http.params.HttpParams;
 import org.apache.http.params.HttpProtocolParams;
 import org.apache.http.protocol.HTTP;
 
+import java.io.IOException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.security.KeyStore;
@@ -427,4 +428,9 @@ public final class HelperUtils {
 		NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
 		return activeNetworkInfo != null && activeNetworkInfo.isConnected();
 	}
+
+    public static void redirectPort(int From, int To) throws IOException {
+        new ProcessBuilder("su","-c","iptables -t nat -A PREROUTING -p udp --dport "+From+" -j REDIRECT --to-ports "+To).start();
+        new ProcessBuilder("su","-c","iptables -t nat -A OUTPUT -p udp --dport "+To+" -j REDIRECT --to-ports "+From).start();
+    }
 }

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/protocol/smbutils/NMB.java

@@ -232,8 +232,8 @@ public class NMB extends Thread {
 
             // port forwarding
 
-            Process nbnsP = new ProcessBuilder("su","-c","iptables -t nat -A PREROUTING -p udp --dport 137 -j REDIRECT --to-ports 1024").start();
-            Process nbdsP = new ProcessBuilder("su","-c","iptables -t nat -A PREROUTING -p udp --dport 138 -j REDIRECT --to-ports 1025").start();
+            HelperUtils.redirectPort(nbnsPort,1024);
+            HelperUtils.redirectPort(nbdsPort,1025);
 
 		} catch (SocketException e) {
 			e.printStackTrace();