Well I had a productive night, (and far too long of one at that...) I managed to finally get my network diagnostics script rewritten with standard libraries and curses support over on
https://github.com/eVAL-Agency/net-diag
Currently it supports Linux and Windows, but I'm yet to test it on Windows and probably have a few issues with that build, (I'll get around to testing that OS though).
It's a command-line app which monitors an interface and reports in real-time some useful information for diagnosing a network, including displaying what switch+port it's connected to, (if supported by your infrastructure).
It even supports wifi connections, (though some of the information will be different as wifi doesn't seem to support LLDP). When monitoring a wifi interface it'll report signal strength, AP, and link quality.
The original application was written with Textual, but it was too laggy and glitchy for my preferences, so I re-wrote the app with #Curses.
Now I'm contemplating if I can port this to an Android client too, but not sure how many people walk around with a USB-C to Ethernet adapter in their work back.
Also thinking of implementing an option to log data for future analysis of a network.
---
Network Diagnostics
Interface ️
enp6s0
Type ️
ethernet
Status ️
UP
Speed ️
1.0 Gbps
Duplex ️
Full Duplex
MTU ️
1500
LLDP Peer ️
US-8-60W - Port 4 [12:34:56:78:90:ab:cd] (US-8-60W, 7.0.50.15613, Linux 3.6.5)
IP Address ️
10.200.0.227/24
Routes ️
Default gateway 10.200.0.1, Direct access to 10.200.0.0/24
Nameservers ️
10.200.0.3
Domain Name ️
house.local
Neighbors ️
6 visible devices
WAN IP ️
1.2.3.4
Internet Status ️
Connected
Latency ️
50.17 ms
DNS Resolution ️
up.eval.bz -> 159.89.55.61
---