From 8ee093b1b2b34f96c09c6d9d995b073e12ce1ceb Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Sun, 17 Jun 2018 17:47:01 +0100 Subject: [PATCH 01/15] Updated CI scripts --- app/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 4adf6ba..05c5390 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,7 +18,9 @@ apply plugin: 'com.github.triplet.play' play { track = 'beta' - serviceAccountEmail ANDROID_NETWORK_TOOLS_SERVICE_ACCOUNT + if (project.hasProperty("ANDROID_NETWORK_TOOLS_SERVICE_ACCOUNT")) { + serviceAccountEmail ANDROID_NETWORK_TOOLS_SERVICE_ACCOUNT + } pk12File = file('../key.p12') } From d47a50cf4562d075234b537e45e35db37d7569b5 Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Sun, 17 Jun 2018 17:51:25 +0100 Subject: [PATCH 02/15] Updated readme, and release 0.4.0 --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index f799521..ea01ea5 100644 --- a/readme.md +++ b/readme.md @@ -13,6 +13,8 @@ Disappointed by the lack of good network apis in android / java I developed a co ## General info +The javadoc should provide all information needed to understand the methods, but if not feel free to add a issue in github and I'll address any questions! :) + ### Sample app The sample app is published on Google play to allow you to quickly and easier test the library. Enjoy! And please do feedback to us if your tests produce different results. From 34b5d62788850eef7e22398b357134fc55940622 Mon Sep 17 00:00:00 2001 From: Robert Ross Date: Thu, 21 Jun 2018 11:11:16 -0400 Subject: [PATCH 03/15] Added support for setting ping TTL. Refactored to PingOptions to avoid future API changes if adding more ping options. --- .../com/stealthcopter/networktools/Ping.java | 21 ++++++++++++--- .../networktools/ping/PingNative.java | 8 +++--- .../networktools/ping/PingOptions.java | 27 +++++++++++++++++++ .../networktools/ping/PingTools.java | 21 ++++++++------- 4 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 library/src/main/java/com/stealthcopter/networktools/ping/PingOptions.java diff --git a/library/src/main/java/com/stealthcopter/networktools/Ping.java b/library/src/main/java/com/stealthcopter/networktools/Ping.java index 89ff301..2d711bd 100644 --- a/library/src/main/java/com/stealthcopter/networktools/Ping.java +++ b/library/src/main/java/com/stealthcopter/networktools/Ping.java @@ -1,5 +1,6 @@ package com.stealthcopter.networktools; +import com.stealthcopter.networktools.ping.PingOptions; import com.stealthcopter.networktools.ping.PingResult; import com.stealthcopter.networktools.ping.PingStats; import com.stealthcopter.networktools.ping.PingTools; @@ -34,7 +35,7 @@ public interface PingListener { private String addressString = null; private InetAddress address; - private int timeOutMillis = 1000; + private final PingOptions pingOptions = new PingOptions(); private int delayBetweenScansMillis = 0; private int times = 1; private boolean cancelled = false; @@ -74,7 +75,7 @@ public static Ping onAddress(InetAddress ia) { */ public Ping setTimeOutMillis(int timeOutMillis) { if (timeOutMillis < 0) throw new IllegalArgumentException("Times cannot be less than 0"); - this.timeOutMillis = timeOutMillis; + pingOptions.setTimeoutMillis(timeOutMillis); return this; } @@ -91,6 +92,18 @@ public Ping setDelayMillis(int delayBetweenScansMillis) { return this; } + /** + * Set the time to live + * + * @param timeToLive - the TTL for each ping + * @return this object to allow chaining + */ + public Ping setTimeToLive(int timeToLive) { + if (timeToLive < 1) throw new IllegalArgumentException("TTL cannot be less than 1"); + pingOptions.setTimeToLive(timeToLive); + return this; + } + /** * Set number of times to ping the address * @@ -145,7 +158,7 @@ public void cancel() { public PingResult doPing() throws UnknownHostException { cancelled = false; resolveAddressString(); - return PingTools.doPing(address, timeOutMillis); + return PingTools.doPing(address, pingOptions); } /** @@ -183,7 +196,7 @@ public void run() { // times == 0 is the case that we can continuous scanning while (noPings > 0 || times == 0) { - PingResult pingResult = PingTools.doPing(address, timeOutMillis); + PingResult pingResult = PingTools.doPing(address, pingOptions); if (pingListener != null) { pingListener.onResult(pingResult); diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java index 7ed1430..ff14754 100644 --- a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java @@ -16,13 +16,13 @@ public class PingNative { private PingNative() { } - public static PingResult ping(InetAddress host, int timeOutMillis) throws IOException, InterruptedException { + public static PingResult ping(InetAddress host, PingOptions pingOptions) throws IOException, InterruptedException { PingResult pingResult = new PingResult(host); StringBuilder echo = new StringBuilder(); Runtime runtime = Runtime.getRuntime(); - int timeoutSeconds = timeOutMillis / 1000; - if (timeoutSeconds < 0) timeoutSeconds = 1; + int timeoutSeconds = Math.max(pingOptions.getTimeoutMillis() / 1000, 1); + int ttl = Math.max(pingOptions.getTimeToLive(), 1); String address = host.getHostAddress(); String pingCommand = "ping"; @@ -40,7 +40,7 @@ public static PingResult ping(InetAddress host, int timeOutMillis) throws IOExce address = host.getHostName(); } - Process proc = runtime.exec(pingCommand + " -c 1 -w " + timeoutSeconds + " " + address); + Process proc = runtime.exec(pingCommand + " -c 1 -w " + timeoutSeconds + " -w" + ttl + " " + address); proc.waitFor(); int exit = proc.exitValue(); String pingError; diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingOptions.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingOptions.java new file mode 100644 index 0000000..1051b40 --- /dev/null +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingOptions.java @@ -0,0 +1,27 @@ +package com.stealthcopter.networktools.ping; + +public class PingOptions { + private int timeoutMillis; + private int timeToLive; + + public PingOptions() { + timeToLive = 128; + timeoutMillis = 1000; + } + + public int getTimeoutMillis() { + return timeoutMillis; + } + + public void setTimeoutMillis(int timeoutMillis) { + this.timeoutMillis = Math.max(timeoutMillis, 1000); + } + + public int getTimeToLive() { + return timeToLive; + } + + public void setTimeToLive(int timeToLive) { + this.timeToLive = Math.max(timeToLive, 1); + } +} diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java index b327289..0bd13c2 100644 --- a/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java @@ -2,6 +2,7 @@ import java.io.IOException; import java.net.InetAddress; +import java.net.NetworkInterface; /** * Created by mat on 09/12/15. @@ -18,14 +19,14 @@ private PingTools() { * on failure. * * @param ia - address to ping - * @param timeOutMillis - timeout in millisecdonds + * @param pingOptions - ping command options * @return - the ping results */ - public static PingResult doPing(InetAddress ia, int timeOutMillis) { + public static PingResult doPing(InetAddress ia, PingOptions pingOptions) { // Try native ping first try { - return PingTools.doNativePing(ia, timeOutMillis); + return PingTools.doNativePing(ia, pingOptions); } catch (InterruptedException e) { PingResult pingResult = new PingResult(ia); pingResult.isReachable = false; @@ -35,7 +36,7 @@ public static PingResult doPing(InetAddress ia, int timeOutMillis) { } // Fallback to java based ping - return PingTools.doJavaPing(ia, timeOutMillis); + return PingTools.doJavaPing(ia, pingOptions); } @@ -43,13 +44,13 @@ public static PingResult doPing(InetAddress ia, int timeOutMillis) { * Perform a ping using the native ping binary * * @param ia - address to ping - * @param timeOutMillis - timeout in millisecdonds + * @param pingOptions - ping command options * @return - the ping results * @throws IOException * @throws InterruptedException */ - public static PingResult doNativePing(InetAddress ia, int timeOutMillis) throws IOException, InterruptedException { - return PingNative.ping(ia, timeOutMillis); + public static PingResult doNativePing(InetAddress ia, PingOptions pingOptions) throws IOException, InterruptedException { + return PingNative.ping(ia, pingOptions); } /** @@ -58,14 +59,14 @@ public static PingResult doNativePing(InetAddress ia, int timeOutMillis) throws * on port 7 (Echo) of the remote host. * * @param ia - address to ping - * @param timeOutMillis - timeout in millisecdonds + * @param pingOptions - ping command options * @return - the ping results */ - public static PingResult doJavaPing(InetAddress ia, int timeOutMillis) { + public static PingResult doJavaPing(InetAddress ia, PingOptions pingOptions) { PingResult pingResult = new PingResult(ia); try { long startTime = System.nanoTime(); - final boolean reached = ia.isReachable(timeOutMillis); + final boolean reached = ia.isReachable(null, pingOptions.getTimeToLive(), pingOptions.getTimeoutMillis()); pingResult.timeTaken = (System.nanoTime() - startTime) / 1e6f; pingResult.isReachable = reached; if (!reached) pingResult.error = "Timed Out"; From ad6d793f6f7ae96fe1d93916b9605ec777b8219b Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Thu, 21 Jun 2018 16:45:39 +0100 Subject: [PATCH 04/15] Removed unused android files, optimized code and fixed typos --- library/src/main/AndroidManifest.xml | 5 ---- .../stealthcopter/networktools/MACTools.java | 4 +-- .../networktools/ping/PingNative.java | 27 ++++++++++--------- .../networktools/ping/PingTools.java | 3 +-- .../networktools/subnet/Device.java | 8 +++--- library/src/main/res/values/strings.xml | 3 --- 6 files changed, 21 insertions(+), 29 deletions(-) delete mode 100644 library/src/main/AndroidManifest.xml delete mode 100644 library/src/main/res/values/strings.xml diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml deleted file mode 100644 index 663b123..0000000 --- a/library/src/main/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - diff --git a/library/src/main/java/com/stealthcopter/networktools/MACTools.java b/library/src/main/java/com/stealthcopter/networktools/MACTools.java index 34ac4cc..85f01ac 100644 --- a/library/src/main/java/com/stealthcopter/networktools/MACTools.java +++ b/library/src/main/java/com/stealthcopter/networktools/MACTools.java @@ -17,7 +17,7 @@ private MACTools() { * Validates a provided MAC address * * @param macAddress - the MAC address to check - * @return - true if it is valid MAC address in IEEE802 format (either hyphen or colon seperated) + * @return - true if it is valid MAC address in IEEE802 format (either hyphen or colon separated) * eg: "01:23:45:67:89:AB" or "01-23-45-67-89-AB" */ public static boolean isValidMACAddress(final String macAddress) { @@ -28,7 +28,7 @@ public static boolean isValidMACAddress(final String macAddress) { /** * Convert a MAC string to bytes * - * @param macStr - MAC string in IEEE802 format (either hyphen or colon seperated) + * @param macStr - MAC string in IEEE802 format (either hyphen or colon separated) * eg: "01:23:45:67:89:AB" or "01-23-45-67-89-AB" * @return - MAC formatted in bytes * @throws IllegalArgumentException - if mac address is invalid diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java index 33daba2..2586c7a 100644 --- a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java @@ -50,18 +50,21 @@ public static PingResult ping(InetAddress host, PingOptions pingOptions) throws proc.waitFor(); int exit = proc.exitValue(); String pingError; - if (exit == 0) { - InputStreamReader reader = new InputStreamReader(proc.getInputStream()); - BufferedReader buffer = new BufferedReader(reader); - String line; - while ((line = buffer.readLine()) != null) { - echo.append(line).append("\n"); - } - return getPingStats(pingResult, echo.toString()); - } else if (exit == 1) { - pingError = "failed, exit = 1"; - } else { - pingError = "error, exit = 2"; + switch (exit) { + case 0: + InputStreamReader reader = new InputStreamReader(proc.getInputStream()); + BufferedReader buffer = new BufferedReader(reader); + String line; + while ((line = buffer.readLine()) != null) { + echo.append(line).append("\n"); + } + return getPingStats(pingResult, echo.toString()); + case 1: + pingError = "failed, exit = 1"; + break; + default: + pingError = "error, exit = 2"; + break; } pingResult.error = pingError; return pingResult; diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java index ffce1e7..68d79a2 100644 --- a/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingTools.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.net.InetAddress; -import java.net.NetworkInterface; /** * Created by mat on 09/12/15. @@ -47,7 +46,7 @@ public static PingResult doPing(InetAddress ia, PingOptions pingOptions) { * @param pingOptions - ping command options * @return - the ping results * @throws IOException - IO error running ping command - * @throws InterruptedException - thread interupt + * @throws InterruptedException - thread interrupt */ public static PingResult doNativePing(InetAddress ia, PingOptions pingOptions) throws IOException, InterruptedException { return PingNative.ping(ia, pingOptions); diff --git a/library/src/main/java/com/stealthcopter/networktools/subnet/Device.java b/library/src/main/java/com/stealthcopter/networktools/subnet/Device.java index 5d85d52..98538db 100644 --- a/library/src/main/java/com/stealthcopter/networktools/subnet/Device.java +++ b/library/src/main/java/com/stealthcopter/networktools/subnet/Device.java @@ -3,11 +3,9 @@ import java.net.InetAddress; public class Device { - public String ip = ""; - public String hostname = ""; - public String mac = ""; - - + public String ip; + public String hostname; + public String mac; public float time = 0; public Device(InetAddress ip) { diff --git a/library/src/main/res/values/strings.xml b/library/src/main/res/values/strings.xml deleted file mode 100644 index d7df651..0000000 --- a/library/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - AndroidNetworkToolsLibary - From b7a64cdd252f8260785bad5339e520e4e1fdb103 Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Thu, 21 Jun 2018 16:50:07 +0100 Subject: [PATCH 05/15] Updated build version for release #DEPLOY_APP --- build.gradle | 4 ++-- .../java/com/stealthcopter/networktools/ARPInfoTest.java | 7 +------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 90c9eb9..c5ec6f3 100644 --- a/build.gradle +++ b/build.gradle @@ -30,6 +30,6 @@ subprojects { ext.targetSdkVer = 27 ext.supportLibVer = "27.1.1" - ext.appVersionName = "0.4.0" - ext.appVersionCode = 14 + ext.appVersionName = "0.4.1" + ext.appVersionCode = 15 } diff --git a/library/src/test/java/com/stealthcopter/networktools/ARPInfoTest.java b/library/src/test/java/com/stealthcopter/networktools/ARPInfoTest.java index 0dcb01f..7a31128 100644 --- a/library/src/test/java/com/stealthcopter/networktools/ARPInfoTest.java +++ b/library/src/test/java/com/stealthcopter/networktools/ARPInfoTest.java @@ -10,14 +10,9 @@ public class ARPInfoTest { @Test - public void nullIPsandMacsReturnNull() throws Exception { - + public void nullIPsandMacsReturnNull() { assertNull(ARPInfo.getMACFromIPAddress(null)); assertNull(ARPInfo.getIPAddressFromMAC(null)); - -// assertEquals(arpInfo.getMACFromIPAddress("192.168.18.11"), "00:04:20:06:55:1a"); -// assertEquals(arpInfo.getIPAddressFromMAC("00:22:43:ab:2a:5b"), "192.168.18.36"); - } @Test(expected = IllegalArgumentException.class) From 42c601c2a88588dd17c638fab03c232009c2f729 Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Mon, 13 Aug 2018 09:08:27 +0100 Subject: [PATCH 06/15] Added cancel to SubnetDevices and fixed blocking UI bug #PLAY_BETA --- .../networktools/MainActivity.java | 10 +++- build.gradle | 4 +- .../stealthcopter/networktools/PortScan.java | 4 +- .../networktools/SubnetDevices.java | 58 ++++++++++++++----- 4 files changed, 54 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/stealthcotper/networktools/MainActivity.java b/app/src/main/java/com/stealthcotper/networktools/MainActivity.java index 00edbc0..234edb8 100644 --- a/app/src/main/java/com/stealthcotper/networktools/MainActivity.java +++ b/app/src/main/java/com/stealthcotper/networktools/MainActivity.java @@ -206,7 +206,7 @@ private void doPortScan() throws Exception { final long startTimeMillis = System.currentTimeMillis(); // Perform an asynchronous port scan - PortScan.onAddress(ipAddress).setPortsAll().setMethodTCP().doScan(new PortScan.PortListener() { + PortScan portScan = PortScan.onAddress(ipAddress).setPortsAll().setMethodTCP().doScan(new PortScan.PortListener() { @Override public void onResult(int portNo, boolean open) { if (open) appendResultsText("Open: " + portNo); @@ -219,6 +219,8 @@ public void onFinished(ArrayList openPorts) { } }); + // Below is example of how to cancel a running scan + // portScan.cancel(); } @@ -226,7 +228,7 @@ private void findSubnetDevices() { final long startTimeMillis = System.currentTimeMillis(); - SubnetDevices.fromLocalAddress().findDevices(new SubnetDevices.OnSubnetDeviceFound() { + SubnetDevices subnetDevices = SubnetDevices.fromLocalAddress().findDevices(new SubnetDevices.OnSubnetDeviceFound() { @Override public void onDeviceFound(Device device) { appendResultsText("Device: " + device.ip+" "+ device.hostname); @@ -239,6 +241,10 @@ public void onFinished(ArrayList devicesFound) { appendResultsText("Finished "+timeTaken+" s"); } }); + + // Below is example of how to cancel a running scan + // subnetDevices.cancel(); + } @Override diff --git a/build.gradle b/build.gradle index c5ec6f3..d2e25d9 100644 --- a/build.gradle +++ b/build.gradle @@ -30,6 +30,6 @@ subprojects { ext.targetSdkVer = 27 ext.supportLibVer = "27.1.1" - ext.appVersionName = "0.4.1" - ext.appVersionCode = 15 + ext.appVersionName = "0.4.2" + ext.appVersionCode = 16 } diff --git a/library/src/main/java/com/stealthcopter/networktools/PortScan.java b/library/src/main/java/com/stealthcopter/networktools/PortScan.java index ef9f0bc..ef81675 100644 --- a/library/src/main/java/com/stealthcopter/networktools/PortScan.java +++ b/library/src/main/java/com/stealthcopter/networktools/PortScan.java @@ -288,7 +288,7 @@ public void cancel() { } /** - * Perform a synchronous port scan and return a list of open ports + * Perform a synchronous (blocking) port scan and return a list of open ports * * @return - ping result */ @@ -320,7 +320,7 @@ public ArrayList doScan() { } /** - * Perform an asynchronous port scan + * Perform an asynchronous (non-blocking) port scan * * @param portListener - the listener to fire portscan results to. * @return - this object so we can cancel the scan if needed diff --git a/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java b/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java index f42b9ee..fa30c3b 100644 --- a/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java +++ b/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java @@ -21,6 +21,7 @@ public class SubnetDevices { private ArrayList devicesFound; private OnSubnetDeviceFound listener; private int timeOutMillis = 2500; + private boolean cancelled = false; // This class is not to be instantiated private SubnetDevices() { @@ -134,31 +135,53 @@ public SubnetDevices setTimeOutMillis(int timeOutMillis) throws IllegalArgumentE return this; } + /** + * Cancel a running scan + */ + public void cancel() { + this.cancelled = true; + } - public void findDevices(final OnSubnetDeviceFound listener) { + /** + * Starts the scan to find other devices on the subnet + * + * @param listener - to pass on the results + * @return this object so we can call cancel on it if needed + */ + public SubnetDevices findDevices(final OnSubnetDeviceFound listener) { this.listener = listener; + cancelled = false; devicesFound = new ArrayList<>(); - ExecutorService executor = Executors.newFixedThreadPool(this.noThreads); + new Thread(new Runnable() { + @Override + public void run() { - for (final String add : addresses) { - Runnable worker = new SubnetDeviceFinderRunnable(add); - executor.execute(worker); - } + ExecutorService executor = Executors.newFixedThreadPool(noThreads); - // This will make the executor accept no new threads - // and finish all existing threads in the queue - executor.shutdown(); - // Wait until all threads are finish - try { - executor.awaitTermination(1, TimeUnit.HOURS); - } catch (InterruptedException e) { - e.printStackTrace(); - } + for (final String add : addresses) { + Runnable worker = new SubnetDeviceFinderRunnable(add); + executor.execute(worker); + } - this.listener.onFinished(devicesFound); + // This will make the executor accept no new threads + // and finish all existing threads in the queue + executor.shutdown(); + // Wait until all threads are finish + try { + executor.awaitTermination(1, TimeUnit.HOURS); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + listener.onFinished(devicesFound); + + } + }).start(); + + return this; } private synchronized void subnetDeviceFound(Device device) { @@ -175,6 +198,9 @@ public class SubnetDeviceFinderRunnable implements Runnable { @Override public void run() { + + if (cancelled) return; + try { InetAddress ia = InetAddress.getByName(address); PingResult pingResult = Ping.onAddress(ia).setTimeOutMillis(timeOutMillis).doPing(); From 33f207d68ae7e1e5714d0a7822dea9db2158f486 Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Mon, 13 Aug 2018 18:04:33 +0100 Subject: [PATCH 07/15] Added strictmode to sample app to aid testing --- app/src/main/AndroidManifest.xml | 1 + .../networktools/ANTApplication.java | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 app/src/main/java/com/stealthcotper/networktools/ANTApplication.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fac6d7d..dc42b68 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ Date: Tue, 14 Aug 2018 09:40:47 +0100 Subject: [PATCH 08/15] Fixed ping command --- .../java/com/stealthcopter/networktools/ping/PingNative.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java index 2586c7a..decba72 100644 --- a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java @@ -46,7 +46,7 @@ public static PingResult ping(InetAddress host, PingOptions pingOptions) throws address = host.getHostName(); } - Process proc = runtime.exec(pingCommand + " -c 1 -w " + timeoutSeconds + " -w" + ttl + " " + address); + Process proc = runtime.exec(pingCommand + " -c 1 -W " + timeoutSeconds + " -t " + ttl + " " + address); proc.waitFor(); int exit = proc.exitValue(); String pingError; From 67732b5fb79ab22492ef6dffcf96eca6139f5e6f Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Tue, 14 Aug 2018 09:52:36 +0100 Subject: [PATCH 09/15] Added arp cache in SubnetDevices to prevent repeated file reads --- .../networktools/SubnetDevices.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java b/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java index fa30c3b..f3de717 100644 --- a/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java +++ b/library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java @@ -6,6 +6,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -22,6 +23,7 @@ public class SubnetDevices { private OnSubnetDeviceFound listener; private int timeOutMillis = 2500; private boolean cancelled = false; + private HashMap ipMacHashMap = null; // This class is not to be instantiated private SubnetDevices() { @@ -73,7 +75,7 @@ public static SubnetDevices fromIPAddress(final String ipAddress) { subnetDevice.addresses = new ArrayList<>(); - // Get addresses from ARP Info first as they are likely to be pingable + // Get addresses from ARP Info first as they are likely to be reachable subnetDevice.addresses.addAll(ARPInfo.getAllIPAddressesInARPCache()); // Add all missing addresses in subnet @@ -159,6 +161,10 @@ public SubnetDevices findDevices(final OnSubnetDeviceFound listener) { @Override public void run() { + // Load mac addresses into cache var (to avoid hammering the /proc/net/arp file when + // lots of devices are found on the network. + ipMacHashMap = ARPInfo.getAllIPAndMACAddressesInARPCache(); + ExecutorService executor = Executors.newFixedThreadPool(noThreads); for (final String add : addresses) { @@ -176,6 +182,17 @@ public void run() { e.printStackTrace(); } + // Loop over devices found and add in the MAC addresses if missing. + // We do this after scanning for all devices as /proc/net/arp may add info + // because of the scan. + ipMacHashMap = ARPInfo.getAllIPAndMACAddressesInARPCache(); + for (Device device : devicesFound) { + if (device.mac == null && ipMacHashMap.containsKey(device.ip)) { + device.mac = ipMacHashMap.get(device.ip); + } + } + + listener.onFinished(devicesFound); } @@ -206,7 +223,12 @@ public void run() { PingResult pingResult = Ping.onAddress(ia).setTimeOutMillis(timeOutMillis).doPing(); if (pingResult.isReachable) { Device device = new Device(ia); - device.mac = ARPInfo.getMACFromIPAddress(ia.getHostAddress()); + + // Add the device MAC address if it is in the cache + if (ipMacHashMap.containsKey(ia.getHostAddress())) { + device.mac = ipMacHashMap.get(ia.getHostAddress()); + } + device.time = pingResult.timeTaken; subnetDeviceFound(device); } From 8b00c368b06372a201e215be18566a8efd7b5cdd Mon Sep 17 00:00:00 2001 From: Matthew Rollings Date: Tue, 14 Aug 2018 09:58:53 +0100 Subject: [PATCH 10/15] Push release 0.4.3 #PLAY_BETA --- build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index d2e25d9..32148d8 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:3.1.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -30,6 +30,6 @@ subprojects { ext.targetSdkVer = 27 ext.supportLibVer = "27.1.1" - ext.appVersionName = "0.4.2" - ext.appVersionCode = 16 + ext.appVersionName = "0.4.3" + ext.appVersionCode = 17 } From b000e62b52f79db592d8445fcee31792de338626 Mon Sep 17 00:00:00 2001 From: Jonas Fredriksson Date: Wed, 24 Apr 2019 16:22:15 +0200 Subject: [PATCH 11/15] Scroll text view to bottom on append Disable buttons while running Ping timeout text --- .../networktools/MainActivity.java | 64 ++++++++++++++++++- app/src/main/res/layout/content_main.xml | 1 + app/src/main/res/values/strings.xml | 3 +- 3 files changed, 65 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/stealthcotper/networktools/MainActivity.java b/app/src/main/java/com/stealthcotper/networktools/MainActivity.java index 234edb8..b3c33d1 100644 --- a/app/src/main/java/com/stealthcotper/networktools/MainActivity.java +++ b/app/src/main/java/com/stealthcotper/networktools/MainActivity.java @@ -10,7 +10,9 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.widget.Button; import android.widget.EditText; +import android.widget.ScrollView; import android.widget.TextView; import com.stealthcopter.networktools.ARPInfo; @@ -25,12 +27,18 @@ import java.io.IOException; import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private TextView resultText; private EditText editIpAddress; + private ScrollView scrollView; + private Button pingButton; + private Button wolButton; + private Button portScanButton; + private Button subnetDevicesButton; @Override protected void onCreate(Bundle savedInstanceState) { @@ -41,6 +49,11 @@ protected void onCreate(Bundle savedInstanceState) { resultText = findViewById(R.id.resultText); editIpAddress = findViewById(R.id.editIpAddress); + scrollView = findViewById(R.id.scrollView1); + pingButton = findViewById(R.id.pingButton); + wolButton = findViewById(R.id.wolButton); + portScanButton = findViewById(R.id.portScanButton); + subnetDevicesButton = findViewById(R.id.subnetDevicesButton); InetAddress ipAddress = IPTools.getLocalIPv4Address(); if (ipAddress != null){ @@ -118,6 +131,23 @@ private void appendResultsText(final String text) { @Override public void run() { resultText.append(text + "\n"); + scrollView.post(new Runnable() { + @Override + public void run() { + scrollView.fullScroll(View.FOCUS_DOWN); + } + }); + } + }); + } + + private void setEnabled(final View view, final boolean enabled) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if (view != null) { + view.setEnabled(enabled); + } } }); } @@ -130,8 +160,19 @@ private void doPing() throws Exception { return; } + setEnabled(pingButton, false); + // Perform a single synchronous ping - PingResult pingResult = Ping.onAddress(ipAddress).setTimeOutMillis(1000).doPing(); + PingResult pingResult = null; + try { + pingResult = Ping.onAddress(ipAddress).setTimeOutMillis(1000).doPing(); + } catch (UnknownHostException e) { + e.printStackTrace(); + appendResultsText(e.getMessage()); + setEnabled(pingButton, true); + return; + } + appendResultsText("Pinging Address: " + pingResult.getAddress().getHostAddress()); appendResultsText("HostName: " + pingResult.getAddress().getHostName()); @@ -142,7 +183,11 @@ private void doPing() throws Exception { Ping.onAddress(ipAddress).setTimeOutMillis(1000).setTimes(5).doPing(new Ping.PingListener() { @Override public void onResult(PingResult pingResult) { - appendResultsText(String.format("%.2f ms", pingResult.getTimeTaken())); + if (pingResult.isReachable) { + appendResultsText(String.format("%.2f ms", pingResult.getTimeTaken())); + } else { + appendResultsText(getString(R.string.timeout)); + } } @Override @@ -151,11 +196,13 @@ public void onFinished(PingStats pingStats) { pingStats.getNoPings(), pingStats.getPacketsLost())); appendResultsText(String.format("Min/Avg/Max Time: %.2f/%.2f/%.2f ms", pingStats.getMinTimeTaken(), pingStats.getAverageTimeTaken(), pingStats.getMaxTimeTaken())); + setEnabled(pingButton, true); } @Override public void onError(Exception e) { // TODO: STUB METHOD + setEnabled(pingButton, true); } }); @@ -169,6 +216,8 @@ private void doWakeOnLan() throws IllegalArgumentException { return; } + setEnabled(wolButton, false); + appendResultsText("IP address: " + ipAddress); // Get mac address from IP (using arp cache) @@ -176,6 +225,7 @@ private void doWakeOnLan() throws IllegalArgumentException { if (macAddress == null) { appendResultsText("Could not fromIPAddress MAC address, cannot send WOL packet without it."); + setEnabled(wolButton, true); return; } @@ -187,7 +237,10 @@ private void doWakeOnLan() throws IllegalArgumentException { WakeOnLan.sendWakeOnLan(ipAddress, macAddress); appendResultsText("WOL Packet sent"); } catch (IOException e) { + appendResultsText(e.getMessage()); e.printStackTrace(); + } finally { + setEnabled(wolButton, true); } } @@ -196,9 +249,12 @@ private void doPortScan() throws Exception { if (TextUtils.isEmpty(ipAddress)) { appendResultsText("Invalid Ip Address"); + setEnabled(portScanButton, true); return; } + setEnabled(portScanButton, false); + // Perform synchronous port scan appendResultsText("PortScanning IP: " + ipAddress); ArrayList openPorts = PortScan.onAddress(ipAddress).setPort(21).setMethodTCP().doScan(); @@ -216,6 +272,7 @@ public void onResult(int portNo, boolean open) { public void onFinished(ArrayList openPorts) { appendResultsText("Open Ports: " + openPorts.size()); appendResultsText("Time Taken: " + ((System.currentTimeMillis() - startTimeMillis)/1000.0f)); + setEnabled(portScanButton, true); } }); @@ -226,6 +283,8 @@ public void onFinished(ArrayList openPorts) { private void findSubnetDevices() { + setEnabled(subnetDevicesButton, false); + final long startTimeMillis = System.currentTimeMillis(); SubnetDevices subnetDevices = SubnetDevices.fromLocalAddress().findDevices(new SubnetDevices.OnSubnetDeviceFound() { @@ -239,6 +298,7 @@ public void onFinished(ArrayList devicesFound) { float timeTaken = (System.currentTimeMillis() - startTimeMillis)/1000.0f; appendResultsText("Devices Found: " + devicesFound.size()); appendResultsText("Finished "+timeTaken+" s"); + setEnabled(subnetDevicesButton, true); } }); diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index b0f2b76..ff6675e 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -84,6 +84,7 @@ Port Scan Github https://github.com/stealthcopter/AndroidNetworkTools - Subnet Devices + Subnet Devices + ** Timeout ** From 1149262c972c6ad76800552cab04b60b994fc8f5 Mon Sep 17 00:00:00 2001 From: mat Date: Sun, 3 Nov 2019 11:33:18 +0000 Subject: [PATCH 12/15] Fixed bug in native ping (added proc.destroy) Bumped version to 0.4.4 #PLAY_BETA --- app/build.gradle | 4 ++-- .../networktools/ANTApplication.java | 23 +++++++++---------- build.gradle | 13 ++++++----- gradle/wrapper/gradle-wrapper.properties | 4 ++-- .../networktools/ping/PingNative.java | 1 + 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 11a38af..c0a6174 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,8 +32,8 @@ android { applicationId "com.stealthcotper.networktools" minSdkVersion minSdkVer targetSdkVersion targetSdkVer - versionName appVersionName - versionCode appVersionCode + versionName "0.4.4" + versionCode 18 archivesBaseName = "AndroidNetworkTools" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/stealthcotper/networktools/ANTApplication.java b/app/src/main/java/com/stealthcotper/networktools/ANTApplication.java index 1e3c649..0dc91c5 100644 --- a/app/src/main/java/com/stealthcotper/networktools/ANTApplication.java +++ b/app/src/main/java/com/stealthcotper/networktools/ANTApplication.java @@ -1,7 +1,6 @@ package com.stealthcotper.networktools; import android.app.Application; -import android.os.StrictMode; public class ANTApplication extends Application { @@ -16,17 +15,17 @@ private void initStrictMode() { // Let's be super strict so that we can discover bugs during testing - StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() - .detectAll() - .penaltyLog() - .penaltyDeath() - .build()); - - StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() - .detectAll() - .penaltyLog() - .penaltyDeath() - .build()); +// StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() +// .detectAll() +// .penaltyLog() +//// .penaltyDeath() +// .build()); +// +// StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() +// .detectAll() +// .penaltyLog() +//// .penaltyDeath() +// .build()); } } diff --git a/build.gradle b/build.gradle index 32148d8..a36d72c 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.android.tools.build:gradle:3.5.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -24,12 +24,13 @@ task clean(type: Delete) { } subprojects { - ext.compileSdkVer = 27 - ext.buildToolsVer = "27.0.3" + ext.compileSdkVer = 29 + ext.buildToolsVer = "29.0.1" ext.minSdkVer = 14 - ext.targetSdkVer = 27 + ext.targetSdkVer = 29 ext.supportLibVer = "27.1.1" - ext.appVersionName = "0.4.3" - ext.appVersionCode = 17 + // When updating these, remember to update the vars in app/build.gradle (for FDroid comptability) + ext.appVersionName = "0.4.4" + ext.appVersionCode = 18 } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b5dcd6b..1433f15 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue May 01 19:31:51 BST 2018 +#Sun Nov 03 10:39:47 GMT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java index decba72..0b91255 100644 --- a/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java +++ b/library/src/main/java/com/stealthcopter/networktools/ping/PingNative.java @@ -67,6 +67,7 @@ public static PingResult ping(InetAddress host, PingOptions pingOptions) throws break; } pingResult.error = pingError; + proc.destroy(); return pingResult; } From 1e3db8a23c368227c6655ca5642be2d90bbdb8c6 Mon Sep 17 00:00:00 2001 From: mat Date: Sun, 3 Nov 2019 13:13:14 +0000 Subject: [PATCH 13/15] Updated circleCI to api29 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c259ddc..c34a45f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: circleci/android:api-25-alpha + - image: circleci/android:api-29 environment: GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' steps: From 20c8f79df618580fe1ea487127745c372009526f Mon Sep 17 00:00:00 2001 From: mat Date: Sun, 3 Nov 2019 13:17:59 +0000 Subject: [PATCH 14/15] Dummy commit to trigger build --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c34a45f..83a5adc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,7 +15,7 @@ jobs: name: Copy Environment Vars command: scripts/cp-env-to-properties.sh - # Decrypt any secret files / keys + # Decrypt any secret files / keys - run: name: Decrypt secret files command: scripts/decrypt-secrets.sh From 1f768047d94165d821840e2b85ab186792537d6e Mon Sep 17 00:00:00 2001 From: mat Date: Thu, 7 Nov 2019 14:01:57 +0000 Subject: [PATCH 15/15] Added fastlane structure for F-Droid inclusion #PLAY_BETA --- app/build.gradle | 7 +++++-- build.gradle | 4 ++-- .../metadata/android/en-GB/changelogs/19.txt | 1 + .../metadata/android/en-GB/full_description.txt | 11 +++++++++++ fastlane/metadata/android/en-GB/images/icon.png | Bin 0 -> 15862 bytes .../android/en-GB/images/phoneScreenshots/1.png | Bin 0 -> 69494 bytes .../android/en-GB/images/phoneScreenshots/2.png | Bin 0 -> 69018 bytes .../android/en-GB/short_description.txt | 1 + fastlane/metadata/android/en-GB/title.txt | 1 + 9 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 fastlane/metadata/android/en-GB/changelogs/19.txt create mode 100644 fastlane/metadata/android/en-GB/full_description.txt create mode 100644 fastlane/metadata/android/en-GB/images/icon.png create mode 100644 fastlane/metadata/android/en-GB/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/en-GB/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/en-GB/short_description.txt create mode 100644 fastlane/metadata/android/en-GB/title.txt diff --git a/app/build.gradle b/app/build.gradle index c0a6174..b88df84 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,8 +32,11 @@ android { applicationId "com.stealthcotper.networktools" minSdkVersion minSdkVer targetSdkVersion targetSdkVer - versionName "0.4.4" - versionCode 18 + + // When updating these, remember to update the vars in the root build.gradle + versionName "0.4.5" + versionCode 19 + archivesBaseName = "AndroidNetworkTools" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } diff --git a/build.gradle b/build.gradle index a36d72c..56a4a02 100644 --- a/build.gradle +++ b/build.gradle @@ -31,6 +31,6 @@ subprojects { ext.supportLibVer = "27.1.1" // When updating these, remember to update the vars in app/build.gradle (for FDroid comptability) - ext.appVersionName = "0.4.4" - ext.appVersionCode = 18 + ext.appVersionName = "0.4.5" + ext.appVersionCode = 19 } diff --git a/fastlane/metadata/android/en-GB/changelogs/19.txt b/fastlane/metadata/android/en-GB/changelogs/19.txt new file mode 100644 index 0000000..78a039b --- /dev/null +++ b/fastlane/metadata/android/en-GB/changelogs/19.txt @@ -0,0 +1 @@ +* Added fastlane structure for F-Droid inclusion diff --git a/fastlane/metadata/android/en-GB/full_description.txt b/fastlane/metadata/android/en-GB/full_description.txt new file mode 100644 index 0000000..08ea232 --- /dev/null +++ b/fastlane/metadata/android/en-GB/full_description.txt @@ -0,0 +1,11 @@ +This is a sample application from the open source project Android Network Tools. If you are looking for a more complete network scanning tool, please see my other app Portdroid. + +It demonstrates the following features of the library: + +• Pinging +• Port Scanning +• Finding devices on your network +• Wake-on-lan + +The project is hosted on github. Bug reports, feature requests and contributions are all welcome: +https://github.com/stealthcopter/AndroidNetworkTools diff --git a/fastlane/metadata/android/en-GB/images/icon.png b/fastlane/metadata/android/en-GB/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed5e98be9be8b94e00a117cb293f48436233745 GIT binary patch literal 15862 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 literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/en-GB/images/phoneScreenshots/2.png b/fastlane/metadata/android/en-GB/images/phoneScreenshots/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc16f61140830aa5db2388fa32c46684cd6bf36 GIT binary patch literal 69018 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
u-dQDXo1|;6ndt_eNERnASaZF-0+BfA5}T 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