Network monitoring
Discover all devices connected to the local network:
#!/bin/bash
subnet="192.168.0"
for suffix in $(seq 101 199); do
ip_address="$subnet.$suffix"
# Only wait 1 second for each response: ping should only take a few
# milliseconds on LAN.
ping -c 1 -W 1 $ip_address | grep "64 bytes from $ip_address" | awk '{ print $4 }' | sed s/://
done
Home network devices
Router: Archer C20
IP Address: 192.168.0.1
MAC Address: 5C:62:8B:B6:2F:A8
Server: raspberrypi
IP Address: 192.168.0.105 (reserved on router)
MAC Address: E4:5F:01:D1:AF:9B
Workstation: homeoffice
IP Address: 192.168.0.108 (reserved on router)
MAC Address: B4:2E:99:EB:80:62
My Phone: Brad-s-S10
MAC Address: 66:01:A8:14:C5:8F
Device disappears from router’s DHCP clients list after being locked for a while.
Emma’s Phone: Emma-s-S21
MAC Address: B6:31:DF:30:AA:7E
Emma’s iPad:
MAC Address: 9A:78:52:C7:EC:00
Appears as “Unknown” on C20 router.
ISP
ISP: Aussie Broadband
Static IP: No
CGNAT: No
Opted out of CGNAT because corporate VPN couldn’t connect. Likely because multiple workers tried to connect from same CGNAT IP address at same time.
Pi-hole DNS server
DNS server that supports DNS-based domain blocking.
Host: 192.168.1.105 (raspberrypi)
Port: 53
Upstream DNS server: 192.168.0.1 (i.e. ISP DNS)
Admin interface
URL using IP address: http://192.168.0.105:8080/admin/
URL using domain: http://pi.hole/admin/ (Request is routed through reverse proxy running on raspberrypi.)
Local DNS
Local network domains use .home instead of .local because .local collides
with device’s built-in systems for resolving .local domains automagically.
A records
.home A records map machine domain names to their IP address.