Network › Module 6 › Lesson 3
Defender Checks on YOUR Table
Baseline the gateway row on THIS host — compare later, never poison to “verify.”
Visual · arp_defender_table
Defenders read and baseline THEIR neighbor table. http://192.168.0.1/ YOUR lab.
Opening
The useful check is boring: the gateway IP you already use, the MAC you already trust, a date.
Lesson 2 named the lie. This lesson is the adult response on a computer you control: read the table, write the gateway pair while the network is healthy, and treat unexplained MAC changes as a question. You are not hunting other stations. You are not “verifying” with a spoofing tool. Original Cyberlium.
1. Baseline while the LAN is boring
A baseline is a dated pair: default-gateway IP plus the MAC THIS host currently maps to it, recorded when you have no reason to suspect a lie. The sticker on an AP you own, or the admin page of a lab router you own after a GATE that was not “Router Admin” for the course demo, can corroborate. A café you do not administer cannot.
Save that pair in cyberlium-lab, not in a public gist. Tomorrow's comparison is only possible if today's file exists.
Command guide
Baseline while the LAN is boring
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install dnsutils
macOS: Built-in
Windows: Use nslookup (built-in)
═══ COMMANDS ═══
Command — copy this
arp -a > "$HOME/cyberlium-lab/t11-m06-arp-snapshot.txt" powershell.exe -NoProfile -Command "Get-NetNeighbor | Format-Table IPAddress,LinkLayerAddress,State -AutoSize" > "$HOME/cyberlium-lab/t11-m06-neigh-snapshot.txt" 2>$null || ip neigh show > "$HOME/cyberlium-lab/t11-m06-neigh-snapshot.txt"
2. Compare is a file operation, not an attack
When you suspect a change, you re-read THIS host's table and diff it against the snapshot. A new phone on the LAN may add rows. The row that deserves a raised eyebrow is the gateway IP pointing at a new MAC without a router swap you know about.
Flapping between two MACs for the same gateway IP is also a signal on a network you own. The response is still documentation and isolation — not a counter-spoof.
Command guide
Compare is a file operation, not an attack
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install python3
macOS:
Command — copy this
brew install python3
Windows: Download https://python.org/downloads/
═══ COMMANDS ═══
Command — copy this
python3 - << 'PY'
from pathlib import Path
home = Path.home() / "cyberlium-lab"
a = home / "t11-m06-neigh-snapshot.txt"
b = home / "t11-m06-neigh-live.txt"
print("snapshot_exists", a.is_file(), "bytes", a.stat().st_size if a.is_file() else 0)
print("write a new live dump in the lab lesson before expecting a diff")
if a.is_file() and b.is_file() and a.read_text(errors="replace") != b.read_text(errors="replace"):
print("files differ — inspect the GATEWAY row, do not arpspoof")
else:
print("no live dump yet or files match — still do not scan the /24")
PY3. What you will not check
You will not nmap the subnet to “see whose MAC is extra.” You will not hydra a gateway because a row looks odd. You will not bind a sniffer helper to 0.0.0.0 on café Wi-Fi. Those moves convert literacy into an incident you caused.
If DEMO was a router login, you already STOPPED touching that box. Defender checks in this course stay on the computer in front of you.
Command guide
What you will not check
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install nmap sudo apt install python3 sudo apt install dnsutils
macOS:
Command — copy this
brew install nmap brew install python3
Windows:
Command — copy this
choco install nmap # or download https://nmap.org/download.html
Download https://python.org/downloads/ Use nslookup (built-in)
═══ COMMANDS ═══
Command — copy this
python3 - << 'PY'
import socket
s = socket.socket(); s.settimeout(0.4)
r = s.connect_ex(("127.0.0.1", 8785)); s.close()
print("127.0.0.1:8785", "open_or_listen" if r == 0 else f"not_up({r})")
PY4. What you ship: a dated gateway-row baseline on THIS host
Snapshot arp/neighbor output under cyberlium-lab, chmod 600. Know which row is the default via. Diff files later. Never poison “to verify.” Never nmap the LAN.
5. What you record before the next lesson
Snapshot paths t11-m06-arp-snapshot.txt / t11-m06-neigh-snapshot.txt. DEMO identified/STOP. SAFE Next lab re-reads the live table.
6. Wrong vs right: stranger networks vs literacy on systems you own
Worked failure — same network word, opposite target. Right never needs a café or campus LAN.
Wrong
nmap 192.168.0.0/24 to grow the cache. ettercap “to confirm the MAC.” Disable the host firewall so ARP “looks busier.”
Right
Save THIS host's table. Circle the gateway pair. Leave other hosts alone. Next: Lab — Read YOUR ARP Table.
Mission: baseline YOUR neighbor table
1) / STOP if router. 2) Save arp -a or Get-NetNeighbor to cyberlium-lab. 3) Note which row is YOUR default gateway. Do not scan. Do not spoof.
Stuck? Ask Cyberlium AI Mentor
Mentor hint: “How do I print only the default route on Windows 11 / Ubuntu?” — not “how do I list every MAC in the building.”
Knowledge Check
APPLY: Your snapshot and a new dump disagree on the MAC for YOUR default-gateway IP, and you did not replace the AP. Defender move?
Multiple choice
Knowledge Check
APPLY: True or False: A new phone joining YOUR home Wi-Fi is automatically ARP poisoning.
True or False
Knowledge Check
APPLY: Where should the baseline live?
Multiple choice