Browse Source

Fixed some small issues

qam 10 years ago
parent
commit
a1466ca768

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/handler/AbstractHandler.java

@@ -141,7 +141,7 @@ public abstract class AbstractHandler implements Runnable {
 	 */
 	protected Record createRecord(TYPE type, String packet) {
 		Record record = new Record();
-		record.setAttack_id(attack_id++);
+		record.setAttack_id(attack_id);
 		record.setProtocol(protocol.toString());
 		record.setType(type);
 		record.setTimestamp(System.currentTimeMillis());

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/handler/ByteArrayHandlerImpl.java

@@ -47,7 +47,7 @@ public class ByteArrayHandlerImpl extends AbstractHandler {
 
 		while (!thread.isInterrupted() && (inputLine = stream.read()) != null) {
 			outputLine = protocol.processMessage(inputLine);
-			log.write(createRecord(TYPE.RECEIVE, protocol.getPacketContent()));
+			log.write(createRecord(TYPE.RECEIVE, protocol.getRequestContent()));
 			if (outputLine != null) {
 				stream.write(outputLine);
 				for (ByteArray s : outputLine) {

+ 26 - 1
src/de/tudarmstadt/informatik/hostage/logging/DatabaseHandler.java

@@ -209,13 +209,38 @@ public class DatabaseHandler extends SQLiteOpenHelper {
         return record;
     }
     
+	/**
+	 * Gets all received {@link Record Records} for every attack identified by its attack id and ordered by date.
+	 * @return A ArrayList with one {@link Record Records} for each attack id in the Database.
+	 */
+    public ArrayList<Record> getAllReceivedRecordsOfEachAttack() {
+    	ArrayList<Record> recordList = new ArrayList<Record>();
+        String selectQuery = "SELECT  * FROM " + TABLE_RECORDS + " NATURAL JOIN " + TABLE_BSSIDS + " WHERE " + KEY_TYPE + "='RECEIVE'" + " ORDER BY " + KEY_TIME;
+        SQLiteDatabase db = this.getReadableDatabase();
+        Cursor cursor = db.rawQuery(selectQuery, null);
+		
+        // looping through all rows and adding to list
+		if (cursor.moveToFirst()) {
+			do {
+				Record record = createRecord(cursor);
+				// Adding record to list
+				recordList.add(record);
+			} while (cursor.moveToNext());
+		}       
+        cursor.close();
+ 
+        // return record list
+        db.close();
+        return recordList;
+    }
+    
 	/**
 	 * Gets a representative {@link Record} for every attack identified by its attack id.
 	 * @return A ArrayList with one {@link Record Records} for each attack id in the Database.
 	 */
     public ArrayList<Record> getRecordOfEachAttack() {
     	ArrayList<Record> recordList = new ArrayList<Record>();
-        String selectQuery = "SELECT  * FROM " + TABLE_RECORDS + " NATURAL JOIN " + TABLE_BSSIDS + " GROUP BY " + KEY_ATTACK_ID + " ORDER BY " + KEY_TIME;
+        String selectQuery = "SELECT  * FROM " + TABLE_RECORDS + " NATURAL JOIN " + TABLE_BSSIDS + " GROUP BY " + KEY_ATTACK_ID;
         SQLiteDatabase db = this.getReadableDatabase();
         Cursor cursor = db.rawQuery(selectQuery, null);
 		

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/ECHO.java

@@ -55,7 +55,7 @@ public class ECHO implements Protocol<ByteArray>{
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return HelperUtils.byteToStr(lastMessage);
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/FTP.java

@@ -117,7 +117,7 @@ public final class FTP implements Protocol<String> {
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return lastMessage;
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/HTTP.java

@@ -73,7 +73,7 @@ public final class HTTP implements Protocol<String> {
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return lastMessage;
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/HTTPS.java

@@ -79,7 +79,7 @@ public class HTTPS implements SSLProtocol<String> {
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return lastMessage;
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/MySQL.java

@@ -78,7 +78,7 @@ public class MySQL implements Protocol<ByteArray>{
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return HelperUtils.byteToStr(lastMessage);
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/Protocol.java

@@ -59,6 +59,6 @@ public interface Protocol<T> {
 	@Override 
 	String toString();
 	
-	String getPacketContent();
+	String getRequestContent();
 	
 }

+ 83 - 2
src/de/tudarmstadt/informatik/hostage/protocol/SMB.java

@@ -136,8 +136,89 @@ public final class SMB implements Protocol<ByteArray> {
 	}
 	
 	@Override
-	public String getPacketContent()  {
-		return HelperUtils.byteToStr(lastMessage);
+	public String getRequestContent()  {
+		String command = "Command: " + getCommandString(lastMessage[8]);
+//		return HelperUtils.byteToStr(lastMessage);
+		return command;
+	}
+	
+	private String getCommandString(byte cmd) {
+		switch(cmd) {
+		case 0x00: return "SMB_COM_CREATE_DIRECTORY";
+		case 0x01: return "SMB_COM_DELETE_DIRECTORY";
+		case 0x02: return "SMB_COM_OPEN";
+		case 0x03: return "SMB_COM_CREATE";
+		case 0x04: return "SMB_COM_CLOSE";
+		case 0x05: return "SMB_COM_FLUSH";
+		case 0x06: return "SMB_COM_DELETE";
+		case 0x07: return "SMB_COM_RENAME";
+		case 0x08: return "SMB_COM_QUERY_INFORMATION";
+		case 0x09: return "SMB_COM_SET_INFORMATION";
+		case 0x0A: return "SMB_COM_READ";
+		case 0x0B: return "SMB_COM_WRITE";
+		case 0x0C: return "SMB_COM_LOCK_BYTE_RANGE";
+		case 0x0D: return "SMB_COM_UNLOCK_BYTE_RANGE";
+		case 0x0E: return "SMB_COM_CREATE_TEMPORARY";
+		case 0x0F: return "SMB_COM_CREATE_NEW";
+		case 0x10: return "SMB_COM_CHECK_DIRECTORY";
+		case 0x11: return "SMB_COM_PROCESS_EXIT";
+		case 0x12: return "SMB_COM_SEEK";
+		case 0x13: return "SMB_COM_LOCK_AND_READ";
+		case 0x14: return "SMB_COM_WRITE_AND_UNLOCK";
+		case 0x1A: return "SMB_COM_READ_RAW";
+		case 0x1B: return "SMB_COM_READ_MPX";
+		case 0x1C: return "SMB_COM_READ_MPX_SECONDARY";
+		case 0x1D: return "SMB_COM_WRITE_RAW";
+		case 0x1E: return "SMB_COM_WRITE_MPX";
+		case 0x1F: return "SMB_COM_WRITE_MPX_SECONDARY";
+		case 0x20: return "SMB_COM_WRITE_COMPLETE";
+		case 0x21: return "SMB_COM_QUERY_SERVER";
+		case 0x22: return "SMB_COM_SET_INFORMATION2";
+		case 0x23: return "SMB_COM_QUERY_INFORMATION2";
+		case 0x24: return "SMB_COM_LOCKING_ANDX";
+		case 0x25: return "SMB_COM_TRANSACTION";
+		case 0x26: return "SMB_COM_TRANSACTION_SECONDARY";
+		case 0x27: return "SMB_COM_IOCTL";
+		case 0x28: return "SMB_COM_IOCTL_SECONDARY";
+		case 0x29: return "SMB_COM_COPY";
+		case 0x2A: return "SMB_COM_MOVE";
+		case 0x2B: return "SMB_COM_ECHO";
+		case 0x2C: return "SMB_COM_WRITE_AND_CLOSE";
+		case 0x2D: return "SMB_COM_OPEN_ANDX";
+		case 0x2E: return "SMB_COM_READ_ANDX";
+		case 0x2F: return "SMB_COM_WRITE_ANDX";
+		case 0x30: return "SMB_COM_NEW_FILE_SIZE";
+		case 0x31: return "SMB_COM_CLOSE_AND_TREE_DISC";
+		case 0x32: return "SMB_COM_TRANSACTION2";
+		case 0x33: return "SMB_COM_TRANSACTION2_SECONDARY";
+		case 0x34: return "SMB_COM_FIND_CLOSE2";
+		case 0x35: return "SMB_COM_FIND_NOTIFY_CLOSE";
+		case 0x70: return "SMB_COM_TREE_CONNECT";
+		case 0x71: return "SMB_COM_TREE_DISCONNECT";
+		case 0x72: return "SMB_COM_NEGOTIATE";
+		case 0x73: return "SMB_COM_SESSION_SETUP_ANDX";
+		case 0x74: return "SMB_COM_LOGOFF_ANDX";
+		case 0x75: return "SMB_COM_TREE_CONNECT_ANDX";
+		case (byte)0x80: return "SMB_COM_QUERY_INFORMATION_DISK";
+		case (byte)0x81: return "SMB_COM_SEARCH";
+		case (byte)0x82: return "SMB_COM_FIND";
+		case (byte)0x83: return "SMB_COM_FIND_UNIQUE";
+		case (byte)0x84: return "SMB_COM_FIND_CLOSE";
+		case (byte)0xA0: return "SMB_COM_NT_TRANSACT";
+		case (byte)0xA1: return "SMB_COM_NT_TRANSACT_SECONDARY";
+		case (byte)0xA2: return "SMB_COM_NT_CREATE_ANDX";
+		case (byte)0xA4: return "SMB_COM_NT_CANCEL";
+		case (byte)0xA5: return "SMB_COM_NT_RENAME";
+		case (byte)0xC0: return "SMB_COM_OPEN_PRINT_FILE";
+		case (byte)0xC1: return "SMB_COM_WRITE_PRINT_FILE";
+		case (byte)0xC2: return "SMB_COM_CLOSE_PRINT_FILE";
+		case (byte)0xC3: return "SMB_COM_GET_PRINT_QUEUE";
+		case (byte)0xD8: return "SMB_COM_READ_BULK";
+		case (byte)0xD9: return "SMB_COM_WRITE_BULK";
+		case (byte)0xDA: return "SMB_COM_WRITE_BULK_DATA";
+		case (byte)0xFF: return "SMB_COM_NONE";
+		default: return "Unknown Command";
+		}
 	}
 
 	/**

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/SSH.java

@@ -168,7 +168,7 @@ public final class SSH implements Protocol<ByteArray> {
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return HelperUtils.byteToStr(lastMessage);
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/protocol/TELNET.java

@@ -152,7 +152,7 @@ public final class TELNET implements Protocol<ByteArray> {
 	}
 	
 	@Override
-	public String getPacketContent() {
+	public String getRequestContent() {
 		return HelperUtils.byteToStr(lastMessage);
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/ui/ViewLogTable.java

@@ -19,7 +19,7 @@ public class ViewLogTable extends Activity{
 		DatabaseHandler dbh = new DatabaseHandler(getBaseContext());
 		String log = "";
 		//Create a log entry for every attack in the Database
-		for(Record record: dbh.getRecordOfEachAttack())
+		for(Record record: dbh.getAllReceivedRecordsOfEachAttack())
 		{
 			log = log + record.toString(2) + "\n";
 		}