|
@@ -11,6 +11,8 @@ import android.os.IBinder;
|
|
|
import android.preference.PreferenceManager;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
+import org.apache.log4j.chainsaw.Main;
|
|
|
+
|
|
|
import java.net.InetAddress;
|
|
|
import java.net.UnknownHostException;
|
|
|
import java.util.ArrayList;
|
|
@@ -80,12 +82,6 @@ public class MultiStage extends Service {
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//fetch data of records of last 10 mins
|
|
|
public Boolean fetchData() {
|
|
|
|
|
@@ -106,24 +102,32 @@ public class MultiStage extends Service {
|
|
|
|
|
|
Collections.sort(recordArray, new Comparator<Record>() {
|
|
|
public int compare(Record one, Record other) {
|
|
|
- return one.getExternalIP().compareTo(other.getExternalIP());
|
|
|
+ return one.getRemoteIP().compareTo(other.getRemoteIP());
|
|
|
}
|
|
|
});
|
|
|
|
|
|
ArrayList<Stackbean> b = new ArrayList<Stackbean>();
|
|
|
|
|
|
- String prevExtIP = "";
|
|
|
+ String prevRemoteIP = "";
|
|
|
String prevProt = "";
|
|
|
+ int lport=0;
|
|
|
+ int prevport=0;
|
|
|
+
|
|
|
|
|
|
System.out.println("Record Array - ");
|
|
|
if (recordArray.size() != 0) {
|
|
|
for (Record tmp : recordArray) {
|
|
|
- if (!prevExtIP.equals(tmp.getExternalIP()) || (prevExtIP.equals(tmp.getExternalIP()) && !prevProt.equals(tmp.getProtocol()))) {
|
|
|
- b.add(new Stackbean(tmp.getExternalIP(), tmp.getProtocol(),tmp.getLocalPort(),tmp.getRemotePort()));
|
|
|
+ // if (!prevRemoteIP.equals(tmp.getRemoteIP()) || (prevRemoteIP.equals(tmp.getRemoteIP()) && !prevProt.equals(tmp.getProtocol()))) {
|
|
|
+
|
|
|
+ if ((prevRemoteIP.equals(tmp.getRemoteIP()) && !prevProt.equals(tmp.getProtocol()))) {
|
|
|
+
|
|
|
+ b.add(new Stackbean(prevRemoteIP,prevProt,lport,prevport));
|
|
|
+ b.add(new Stackbean(tmp.getRemoteIP(), tmp.getProtocol(),tmp.getLocalPort(),tmp.getRemotePort())); //,tmp.getLocalPort(),tmp.getRemotePort()));
|
|
|
}
|
|
|
- prevExtIP = tmp.getExternalIP();
|
|
|
+ prevRemoteIP = tmp.getRemoteIP();
|
|
|
prevProt = tmp.getProtocol();
|
|
|
-
|
|
|
+ prevport=tmp.getRemotePort();
|
|
|
+ lport=tmp.getLocalPort();
|
|
|
|
|
|
|
|
|
}
|
|
@@ -133,12 +137,16 @@ public class MultiStage extends Service {
|
|
|
|
|
|
if (b.size() != 0) {
|
|
|
for (Stackbean tmp : b) {
|
|
|
- Toast.makeText(MainActivity.getInstance().getApplicationContext(), tmp.getIp() + "----------" + tmp.getProtocol(),Toast.LENGTH_LONG).show();
|
|
|
+ // Toast.makeText(MainActivity.getInstance().getApplicationContext(), tmp.getIp() + "----------" + tmp.getProtocol(),Toast.LENGTH_LONG).show();
|
|
|
String message = ("Multi Stage Attack Detected!\n" + "IP:" + tmp.getIp() + "\nProtocol:" + tmp.getProtocol());
|
|
|
+
|
|
|
+ //Toast.makeText(MainActivity.getInstance().getApplicationContext(),message,Toast.LENGTH_SHORT).show();
|
|
|
+
|
|
|
log(MessageRecord.TYPE.RECEIVE, message, tmp.getPort(), tmp.getIp(), tmp.getRport());
|
|
|
//Clear stack after this
|
|
|
- b.clear();
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|