mirror of
https://github.com/M66B/NetGuard.git
synced 2025-02-25 07:32:46 +00:00
Add last 250 traffic log entries to logcat
This commit is contained in:
parent
19b0fe25a5
commit
9769db65c1
2 changed files with 52 additions and 3 deletions
|
@ -57,7 +57,7 @@ public class AdapterLog extends CursorAdapter {
|
|||
private int colFlags;
|
||||
private int colSAddr;
|
||||
private int colSPort;
|
||||
private int colDaddr;
|
||||
private int colDAddr;
|
||||
private int colDPort;
|
||||
private int colDName;
|
||||
private int colUid;
|
||||
|
@ -82,7 +82,7 @@ public class AdapterLog extends CursorAdapter {
|
|||
colFlags = cursor.getColumnIndex("flags");
|
||||
colSAddr = cursor.getColumnIndex("saddr");
|
||||
colSPort = cursor.getColumnIndex("sport");
|
||||
colDaddr = cursor.getColumnIndex("daddr");
|
||||
colDAddr = cursor.getColumnIndex("daddr");
|
||||
colDPort = cursor.getColumnIndex("dport");
|
||||
colDName = cursor.getColumnIndex("dname");
|
||||
colUid = cursor.getColumnIndex("uid");
|
||||
|
@ -128,7 +128,7 @@ public class AdapterLog extends CursorAdapter {
|
|||
String flags = cursor.getString(colFlags);
|
||||
String saddr = cursor.getString(colSAddr);
|
||||
int sport = (cursor.isNull(colSPort) ? -1 : cursor.getInt(colSPort));
|
||||
String daddr = cursor.getString(colDaddr);
|
||||
String daddr = cursor.getString(colDAddr);
|
||||
int dport = (cursor.isNull(colDPort) ? -1 : cursor.getInt(colDPort));
|
||||
String dname = (cursor.isNull(colDName) ? null : cursor.getString(colDName));
|
||||
int uid = (cursor.isNull(colUid) ? -1 : cursor.getInt(colUid));
|
||||
|
|
|
@ -29,6 +29,7 @@ import android.content.SharedPreferences;
|
|||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkInfo;
|
||||
|
@ -63,6 +64,8 @@ import java.lang.reflect.InvocationTargetException;
|
|||
import java.lang.reflect.Method;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
@ -743,6 +746,7 @@ public class Util {
|
|||
Log.i(TAG, "Writing logcat URI=" + uri);
|
||||
out = context.getContentResolver().openOutputStream(uri);
|
||||
out.write(getLogcat().toString().getBytes());
|
||||
out.write(getTrafficLog(context).toString().getBytes());
|
||||
} catch (Throwable ex) {
|
||||
Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
|
||||
sb.append(ex.toString()).append("\r\n").append(Log.getStackTraceString(ex)).append("\r\n");
|
||||
|
@ -777,6 +781,51 @@ public class Util {
|
|||
task.execute();
|
||||
}
|
||||
|
||||
private static StringBuilder getTrafficLog(Context context) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
Cursor cursor = DatabaseHelper.getInstance(context).getLog(true, true, true, true, true);
|
||||
|
||||
int colTime = cursor.getColumnIndex("time");
|
||||
int colVersion = cursor.getColumnIndex("version");
|
||||
int colProtocol = cursor.getColumnIndex("protocol");
|
||||
int colFlags = cursor.getColumnIndex("flags");
|
||||
int colSAddr = cursor.getColumnIndex("saddr");
|
||||
int colSPort = cursor.getColumnIndex("sport");
|
||||
int colDAddr = cursor.getColumnIndex("daddr");
|
||||
int colDPort = cursor.getColumnIndex("dport");
|
||||
int colDName = cursor.getColumnIndex("dname");
|
||||
int colUid = cursor.getColumnIndex("uid");
|
||||
int colData = cursor.getColumnIndex("data");
|
||||
int colAllowed = cursor.getColumnIndex("allowed");
|
||||
int colConnection = cursor.getColumnIndex("connection");
|
||||
int colInteractive = cursor.getColumnIndex("interactive");
|
||||
|
||||
DateFormat format = SimpleDateFormat.getDateTimeInstance();
|
||||
|
||||
int count = 0;
|
||||
while (cursor.moveToNext() && ++count < 250) {
|
||||
sb.append(format.format(cursor.getLong(colTime)));
|
||||
sb.append(" v").append(cursor.getInt(colVersion));
|
||||
sb.append(" p").append(cursor.getInt(colProtocol));
|
||||
sb.append(' ').append(cursor.getString(colFlags));
|
||||
sb.append(' ').append(cursor.getString(colSAddr));
|
||||
sb.append('/').append(cursor.getInt(colSPort));
|
||||
sb.append(" > ").append(cursor.getString(colDAddr));
|
||||
sb.append('/').append(cursor.getString(colDName));
|
||||
sb.append('/').append(cursor.getInt(colDPort));
|
||||
sb.append(" u").append(cursor.getInt(colUid));
|
||||
sb.append(" a").append(cursor.getInt(colAllowed));
|
||||
sb.append(" c").append(cursor.getInt(colConnection));
|
||||
sb.append(" i").append(cursor.getInt(colInteractive));
|
||||
sb.append(' ').append(cursor.getString(colData));
|
||||
sb.append("\r\n");
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return sb;
|
||||
}
|
||||
|
||||
private static StringBuilder getLogcat() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
Process process1 = null;
|
||||
|
|
Loading…
Reference in a new issue