Browse Source

changed the sockets for NBNS, NBDS, NBSS

- using the factories
Daniel Lazar 9 years ago
parent
commit
1ed012a1b4

+ 3 - 0
src/de/tudarmstadt/informatik/hostage/protocol/SMB.java

@@ -61,6 +61,9 @@ public class SMB implements Protocol {
 
 	public void setIP(String ip) {
 //		TODO if porthack is working for UDP uncomment
+        nmb = new NMB(ip, "BLIBLABLUB", "Workgroup");
+        nmb.start();
+
 //		nmb = new NMB(ip, new String(serverName), workgroup);
 //		nmb.start();
 	}

+ 3 - 1
src/de/tudarmstadt/informatik/hostage/protocol/smbutils/NBSS.java

@@ -7,6 +7,7 @@ import java.net.ServerSocket;
 import java.net.Socket;
 import java.util.List;
 
+import de.tudarmstadt.informatik.hostage.net.MyServerSocketFactory;
 import de.tudarmstadt.informatik.hostage.nio.Reader;
 import de.tudarmstadt.informatik.hostage.nio.Writer;
 import de.tudarmstadt.informatik.hostage.protocol.Protocol.TALK_FIRST;
@@ -30,7 +31,8 @@ public class NBSS extends Thread {
 	public void run() {
 		try {
 			nbssPort = 139;
-			nbssServer = new ServerSocket(nbssPort);
+            MyServerSocketFactory factory = new MyServerSocketFactory();
+            nbssServer = factory.createServerSocket(nbssPort);
 			nbssSocket = nbssServer.accept();
 			smb = new SMB();
 			talkToClient(nbssSocket.getInputStream(), nbssSocket.getOutputStream());

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

@@ -9,6 +9,7 @@ import java.net.SocketTimeoutException;
 import java.net.UnknownHostException;
 
 import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
+import de.tudarmstadt.informatik.hostage.net.MyDatagramSocketFactory;
 
 /**
  * NetBIOS.
@@ -211,13 +212,20 @@ public class NMB extends Thread {
 		NBSS nbss = new NBSS();
 		nbss.start();
 		try {
+/*
 			nbnsSocket = new DatagramSocket(nbnsPort);
 			nbdsSocket = new DatagramSocket(nbdsPort);
+*/
+            MyDatagramSocketFactory factory = new MyDatagramSocketFactory();
+            nbnsSocket = factory.createDatagramSocket(nbnsPort);
+            nbdsSocket = factory.createDatagramSocket(nbdsPort);
 		} catch (SocketException e) {
 			e.printStackTrace();
-		}
-		
-		registrate();
+		} catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        registrate();
 		announceHost();
 		queryName();
 		checkForAnswers();