A desktop tool (Kotlin + Swing/FlatLaf) that monitors your connection and works out where a problem is: this PC's link to the router, the router itself, the router's connection to your ISP, the wider Internet, DNS, or the remote host you're trying to reach.
Requires a JDK (built and tested with Java 25). No admin rights needed.
./gradlew run
Or build a single runnable jar:
./gradlew fatJar
java --enable-native-access=ALL-UNNAMED -jar build/libs/network-tracker-1.0.0-all.jar
On start it auto-detects your default gateway (router), the ISP edge router (first router beyond your network that answers ping, found by traceroute), your DNS server, and uses 1.1.1.1 and 8.8.8.8 as Internet anchors. Add any IP or hostname in the toolbar to monitor it too.
Every round, all targets are probed at the same moment. That's the key to attribution:
| Router | ISP edge | Internet | Your target | Conclusion |
|---|---|---|---|---|
| lost | lost | lost | lost | Local: Wi-Fi/cable between PC and router, or the router |
| ok | lost | lost | lost | Router ↔ ISP: modem, line, or ISP equipment |
| ok | ok | lost | lost | ISP network / upstream |
| ok | ok | ok | lost | The remote host or its network |
The same comparison is applied to latency spikes, and the Events log attributes each outage and spike to where it started.
proto:dns app:chrome host:google port:443 dir:out len>1000 problems,
right-click anything to filter by it, follow a stream, and open/save .pcap files for Wireshark.On Windows, pings use the native ICMP API (via JNA) for precise timing and TTL control. Other
platforms fall back to the system ping command. DNS is tested with raw queries sent straight to the
server, which bypasses the OS cache.
Everything stays on your machine. The app sends no telemetry, and only contacts the hosts it
monitors (your router, ISP edge, DNS server, 1.1.1.1, 8.8.8.8 and targets you add); the Traffic tab
also does reverse-DNS lookups to show host names. Exported reports, CSVs and especially saved
.pcap captures contain your network details and traffic, so review them before sharing.
Kotlin
100.0%
A desktop tool (Kotlin + Swing/FlatLaf) that monitors your connection and works out where a problem is: this PC's link to the router, the router itself, the router's connection to your ISP, the wider Internet, DNS, or the remote host you're trying to reach.
Requires a JDK (built and tested with Java 25). No admin rights needed.
./gradlew run
Or build a single runnable jar:
./gradlew fatJar
java --enable-native-access=ALL-UNNAMED -jar build/libs/network-tracker-1.0.0-all.jar
On start it auto-detects your default gateway (router), the ISP edge router (first router beyond your network that answers ping, found by traceroute), your DNS server, and uses 1.1.1.1 and 8.8.8.8 as Internet anchors. Add any IP or hostname in the toolbar to monitor it too.
Every round, all targets are probed at the same moment. That's the key to attribution:
| Router | ISP edge | Internet | Your target | Conclusion |
|---|---|---|---|---|
| lost | lost | lost | lost | Local: Wi-Fi/cable between PC and router, or the router |
| ok | lost | lost | lost | Router ↔ ISP: modem, line, or ISP equipment |
| ok | ok | lost | lost | ISP network / upstream |
| ok | ok | ok | lost | The remote host or its network |
The same comparison is applied to latency spikes, and the Events log attributes each outage and spike to where it started.
proto:dns app:chrome host:google port:443 dir:out len>1000 problems,
right-click anything to filter by it, follow a stream, and open/save .pcap files for Wireshark.On Windows, pings use the native ICMP API (via JNA) for precise timing and TTL control. Other
platforms fall back to the system ping command. DNS is tested with raw queries sent straight to the
server, which bypasses the OS cache.
Everything stays on your machine. The app sends no telemetry, and only contacts the hosts it
monitors (your router, ISP edge, DNS server, 1.1.1.1, 8.8.8.8 and targets you add); the Traffic tab
also does reverse-DNS lookups to show host names. Exported reports, CSVs and especially saved
.pcap captures contain your network details and traffic, so review them before sharing.
Kotlin
100.0%