OSINT › Module 5 › Lesson 4
Lab — Domain File for YOUR Name
Merge WHOIS, DNS, well-known, local security.txt — viewer never 0.0.0.0.
Visual · domain_file_lab
Lab: domain file for YOUR identifiers. Bind
Opening
One file should answer: what does the public DNS/WHOIS/well-known set say about names I own?
Create t12-m05-domain-file.txt merging M5 notes, example.com literacy, YOUR domain rows or skip, local security.txt pointer. Serve on curl. chmod 600. still heading 1. No nmap of A records. No classmate domains. Original Cyberlium. Next: Quiz — Domain Intelligence.
1. GATE, then merge WHOIS/DNS/well-known notes
curl http://192.168.0.1/ — Then concatenate your M5 lesson notes and the local security.txt into one domain file headed with YOUR name from scope (owner line), not a classmate.
If DOMAIN=none, the file still holds example.com literacy plus local security.txt. That is a complete lab.
2. Loopback viewer 127.0.0.1:8804; refuse 0.0.0.0
Serve the domain file. Bind audit. curl SAFE. Classmates do not get your WHOIS merge on café Wi-Fi.
Optional: python connect_ex 8804 to see YOUR listener.
Command guide
Loopback viewer 127.0.0.1:8804; refuse 0.0.0.0
═══ 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
cat > "$HOME/cyberlium-lab/t12_m05_dom_view.py" << 'PY'
from http.server import BaseHTTPRequestHandler, HTTPServer
from pathlib import Path
HOST, PORT = "127.0.0.1", 8804
if HOST != "127.0.0.1":
raise SystemExit("refusing non-loopback bind")
DF = Path.home() / "cyberlium-lab" / "t12-m05-domain-file.txt"
class H(BaseHTTPRequestHandler):
def do_GET(self):
body = DF.read_bytes() if DF.exists() else b"missing domain file
"
self.send_response(200); self.send_header("Content-Type", "text/plain; charset=utf-8")
self.send_header("Content-Length", str(len(body))); self.end_headers(); self.wfile.write(body)
def log_message(self, *a):
pass
HTTPServer((HOST, PORT), H).serve_forever()
PYCommand — copy this
grep -n "0.0.0.0" "$HOME/cyberlium-lab/t12_m05_dom_view.py" && echo "FIX"
3. Ethics lock: no nmap, no stranger zones, stop pid
Grep the domain file for classmate/roster. Delete if found. Write lab note with official URLs. chmod 600. Quiz next — then Topic 12 continues into subdomains in later modules.
XP is not a WHOIS certificate.
Command guide
Ethics lock: no nmap, no stranger zones, stop pid
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install dnsutils sudo apt install whois
macOS:
Command — copy this
brew install bind brew install whois
Windows: Built-in: nslookup (or install BIND for dig) Use https://lookup.icann.org or install via WSL Use nslookup (built-in)
═══ COMMANDS ═══
Command — copy this
grep -niE "classmate|roster" "$HOME/cyberlium-lab/t12-m05-domain-file.txt" && echo "EDIT OUT"
4. What you ship: one domain file, loopback curl, no scans
t12-m05-domain-file.txt 600. Viewer example.com + YOUR domain or skip. Local security.txt included. DEMO GATE. No nmap.
5. What you record before the next lesson
Date. Domain file path. curl 8804. NEVER classmate zones/nmap. File t12-m05-l04-domain-lab.txt chmod 600.
6. Wrong vs right: strangers vs identifiers YOU own
Worked failure — same OSINT word, opposite target. Right never needs a classmate or a dump site.
Wrong
Add a classmate domain “as control.” nmap A records. Bind 0.0.0.0. whois-unmask shops.
Right
Merge YOUR M5 notes. curl loopback. Next: Quiz — Domain Intelligence.
Mission: one domain file for names you own
1) / STOP if router. 2) Merge WHOIS/DNS/well-known/local security.txt. 3) Serve on and curl. 4) chmod 600. Never nmap. Never classmate domains.
Stuck? Ask Cyberlium AI Mentor
Ask Mentor how to merge the note files — not how to AXFR a stranger.
Knowledge Check
APPLY: DOMAIN=none in scope. Valid lab?
Multiple choice
Knowledge Check
APPLY: True or False: Lab bind is
True or False
Knowledge Check
APPLY: curl http://192.168.0.1/ is TP-Link Router Admin during the domain lab. You:
Multiple choice