MultiStage.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package de.tudarmstadt.informatik.hostage.services;
  2. import android.app.Service;
  3. import android.content.Intent;
  4. import android.content.SharedPreferences;
  5. import android.os.Binder;
  6. import android.os.IBinder;
  7. import android.preference.PreferenceManager;
  8. import android.widget.Toast;
  9. import java.lang.reflect.Array;
  10. import java.util.ArrayList;
  11. import java.util.HashMap;
  12. import java.util.List;
  13. import java.util.Map;
  14. import de.tudarmstadt.informatik.hostage.Hostage;
  15. import de.tudarmstadt.informatik.hostage.R;
  16. import de.tudarmstadt.informatik.hostage.logging.Record;
  17. import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
  18. import de.tudarmstadt.informatik.hostage.ui.activity.MainActivity;
  19. import de.tudarmstadt.informatik.hostage.ui.model.LogFilter;
  20. /**
  21. * Created by root on 16.08.15.
  22. */
  23. public class MultiStage extends Service {
  24. @Override
  25. public IBinder onBind(Intent intent) {
  26. return null;
  27. }
  28. @Override
  29. public int onStartCommand(Intent intent, int flags,int startid){
  30. fetchData();
  31. return 1;
  32. }
  33. public Record getRecord() {
  34. return record;
  35. }
  36. public void setRecord(Record record) {
  37. this.record = record;
  38. }
  39. private Record record;
  40. private Hostage service;
  41. private SharedPreferences pref;
  42. private HostageDBOpenHelper mDBOpenHelper;
  43. static final String FILTER_MENU_TITLE_TIMESTAMP_BELOW = MainActivity.getContext().getString(
  44. R.string.rec_latest);
  45. public Boolean fetchData(){
  46. Map<String, String> attackStack=null;
  47. Long currentTime = System.currentTimeMillis();
  48. Long filterTime = (currentTime-300000);
  49. LogFilter filter = new LogFilter();
  50. filter.setAboveTimestamp(filterTime);
  51. this.mDBOpenHelper = new HostageDBOpenHelper(MainActivity.getInstance().getBaseContext());
  52. pref = PreferenceManager.getDefaultSharedPreferences(MainActivity.getInstance());
  53. List<Record> recordArray = mDBOpenHelper.getRecordsForFilter(filter);
  54. // List<String> tempo = null;
  55. if (recordArray.size()!=0) {
  56. for (Record tmp : recordArray) {
  57. attackStack.put(tmp.getExternalIP(),tmp.getProtocol());
  58. //attackStack.put(ip,protocol);
  59. }
  60. }
  61. /*
  62. for (Long tmp : attackIds) {
  63. ArrayList<Record> check = mDBOpenHelper.getConversationForAttackID(tmp);
  64. for(Record tmp2: check ){
  65. attackStack.put(tmp2.getExternalIP(),tmp2.getProtocol());
  66. }
  67. }*/
  68. // System.out.print(attackStack);
  69. return true;
  70. }
  71. public Record isMultiStage(List<Record> record){
  72. Boolean isMultiStage = false;
  73. Record multiStageRecord = null;
  74. HashMap<String,String> attackStack = new HashMap<String, String>();
  75. for(Record tmp: record){
  76. attackStack.put(tmp.getExternalIP(), tmp.getProtocol());
  77. }
  78. System.out.print(attackStack);
  79. // write comparison algorithm
  80. return multiStageRecord;
  81. }
  82. public HashMap<String, String> getAttackTuple() {
  83. return attackTuple;
  84. }
  85. public void setAttackTuple(HashMap<String, String> attackTuple) {
  86. this.attackTuple = attackTuple;
  87. }
  88. private HashMap<String,String> attackTuple;
  89. public long getAttackTime() {
  90. return attackTime;
  91. }
  92. public void setAttackTime(long attackTime) {
  93. this.attackTime = attackTime;
  94. }
  95. private long attackTime;
  96. public class LocalBinder extends Binder {
  97. public Hostage getService() {
  98. return (Hostage) Hostage.getContext();
  99. }
  100. }
  101. }