123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- package de.tudarmstadt.informatik.hostage.logging;
- import java.io.Serializable;
- import java.net.InetAddress;
- /**
- * This class defines the attributes of a record.<br>
- * A Record is a single message exchanged between the application and an attacker.<br>
- * The class has no own functionality except for getter and setter methods.
- * To change the logging mechanism you have to to change the logger in {@link de.tudarmstadt.informatik.hostage.HoneyService} and
- * {@link de.tudarmstadt.informatik.hostage.ui.ViewLog}
- * @author Mihai Plasoianu
- * @author Lars Pandikow
- */
- public class Record implements Serializable {
- private static final long serialVersionUID = 1L;
- public static enum TYPE {
- SEND, RECEIVE
- };
- private int id;
- private long attack_id;
- private String protocol;
- private TYPE type;
- private long timestamp;
- private InetAddress localIP;
- private int localPort;
- private InetAddress remoteIP;
- private int remotePort;
- private String BSSID;
- private String SSID;
- private String packet;
- /**
- * @return the id
- */
- public int getID() {
- return id;
- }
- /**
- * @param id
- * the id to set
- */
- public void setID(int id) {
- this.id = id;
- }
- /**
- * @return the attack_id
- */
- public long getAttack_id() {
- return attack_id;
- }
- /**
- * @param attack_id
- * the attack_id to set
- */
- public void setAttack_id(long attack_id) {
- this.attack_id = attack_id;
- }
- /**
- * @return the protocol
- */
- public String getProtocol() {
- return protocol;
- }
- /**
- * @param string the protocol to set
- */
- public void setProtocol(String string) {
- this.protocol = string;
- }
- public TYPE getType() {
- return type;
- }
- public void setType(TYPE type) {
- this.type = type;
- }
- public long getTimestamp() {
- return timestamp;
- }
- public void setTimestamp(long timestamp) {
- this.timestamp = timestamp;
- }
- public InetAddress getLocalIP() {
- return localIP;
- }
- public void setLocalIP(InetAddress localIP) {
- this.localIP = localIP;
- }
- public int getLocalPort() {
- return localPort;
- }
- public void setLocalPort(int localPort) {
- this.localPort = localPort;
- }
- public InetAddress getRemoteIP() {
- return remoteIP;
- }
- public void setRemoteIP(InetAddress remoteIP) {
- this.remoteIP = remoteIP;
- }
- public int getRemotePort() {
- return remotePort;
- }
- public void setRemotePort(int remotePort) {
- this.remotePort = remotePort;
- }
- /**
- * @return the bSSID
- */
- public String getBSSID() {
- return BSSID;
- }
- /**
- * @param bSSID the bSSID to set
- */
- public void setBSSID(String bSSID) {
- BSSID = bSSID;
- }
- /**
- * @return the sSID
- */
- public String getSSID() {
- return SSID;
- }
- /**
- * @param sSID the sSID to set
- */
- public void setSSID(String sSID) {
- SSID = sSID;
- }
- public String getPacket() {
- return packet;
- }
- public void setPacket(String packet) {
- this.packet = packet;
- }
- @Override
- public String toString() {
- return String.format("%d %s [%d,%s:%d,%s:%d,%s]", attack_id,
- ((type == TYPE.SEND) ? "SEND" : "RECEIVE"), timestamp,
- localIP.getHostAddress(), localPort, remoteIP.getHostAddress(),
- remotePort, packet);
- }
-
- /**
- * Returns a string representation after a chosen format. Formats should be defined in /res/values/export_formats.xml to use {@link de.tudarmstadt.informatik.hostage.ui.ViewLog#exportDatabase(android.view.View)}
- * The Intger representation of the format is equal to its position in the format array.
- * @param format Integer representation of the format.
- * @return A string representation after chosen format.
- */
- public String toString(int format){
- // Choose String Format
- // Add additional case for your own Format. Also add format Name to
- switch (format){
- case 1:
- return String.format("{ \"src\":{\"IP\": %s, \"Port\": %d} \"dst\": {\"IP\": %s, \"Port\": %d} \"type\": 0 \"name\": \"HOsTaGe\" }", localIP.getHostAddress(), localPort, remoteIP.getHostAddress(),
- remotePort);
- case 2:
- return String.format("%d: %s in %s(%s) from [%s:%d] to [%s:%d]", attack_id, protocol, SSID, BSSID, remoteIP.getHostAddress(), remotePort, localIP.getHostAddress(), localPort);
- default:
- return toString();
- }
- }
-
- }
|