Root-Domain-Extraktor
Extrahiere Root-Domain mithilfe der Public Suffix List
Input Hostnames/URLs
Root Domains
Der Root-Domain-Extractor identifiziert die registrierbare Domain (effektive TLD+1) aus jedem Hostnamen unter Verwendung der Public Suffix List. Geben Sie einen Hostnamen wie app.staging.example.co.uk ein und das Tool gibt example.co.uk als Root-Domain zurĂŒck, wobei komplexe TLD-Strukturen korrekt behandelt werden, bei denen einfaches String-Splitting falsche Ergebnisse liefert.
Root-Domain-Extraktion verstehen
Jeder Hostname im Internet hat eine registrierbare Domain -- den Teil, den jemand tatsĂ€chlich bei einem Domain-Registrar gekauft hat. FĂŒr www.example.com ist die registrierbare Domain example.com. Das erscheint offensichtlich, wenn die TLD ein einfaches .com ist, aber das Internet hat Tausende von TLDs mit unterschiedlichen Strukturen. FĂŒr www.example.co.uk ist die registrierbare Domain example.co.uk, nicht co.uk und nicht example. FĂŒr myapp.herokuapp.com ist die registrierbare Domain myapp.herokuapp.com, weil herokuapp.com ein Public Suffix ist, unter dem einzelne Benutzer Subdomains registrieren. Dies falsch zu bestimmen hat reale Konsequenzen fĂŒr Sicherheit, Cookie-Scoping und Domain-Analyse.
Der Grund, warum einfache Stringmanipulation fehlschlĂ€gt, ist, dass TLD-Grenzen nicht konsistent sind. Man kann nicht einfach am letzten Punkt, den letzten zwei Punkten oder einer festen Anzahl von Labels von rechts aufteilen. Das Suffix co.uk besteht aus zwei Labels, pvt.k12.ma.us aus vier Labels und com aus einem Label. Cloud-Dienste fĂŒgen eine weitere KomplexitĂ€tsebene hinzu: amazonaws.com, github.io und azurewebsites.net sind alle Public Suffixes, obwohl sie wie regulĂ€re Domains aussehen. Die einzige zuverlĂ€ssige Methode, die Grenze zwischen dem Public Suffix und der registrierbaren Domain zu bestimmen, ist die Konsultation der Public Suffix List.
Dieses Tool verwendet Mozillas Public Suffix List, die ĂŒber 9.000 Public Suffixes katalogisiert, einschlieĂlich ICANN-verwalteter TLDs, LĂ€ndercode-TLDs mit mehrstufigen Strukturen und privater Suffixes, die von Cloud- und Hosting-Anbietern verwendet werden. Es identifiziert korrekt die Root-Domain fĂŒr jeden Hostnamen, unabhĂ€ngig von der TLD-KomplexitĂ€t, und zeigt Ihnen auch den Subdomain-Anteil und das fĂŒr die Bestimmung verwendete Public Suffix.
So extrahieren Sie die Root-Domain aus einem Hostnamen
- Geben Sie einen oder mehrere Hostnamen ein (z.B.
app.staging.example.co.uk) - Das Tool sucht das Public Suffix mithilfe von Mozillas Public Suffix List
- Es isoliert die registrierbare Domain, indem es das Label unmittelbar vor dem Public Suffix mit dem Suffix selbst kombiniert
- ĂberprĂŒfen Sie die Ausgabe, die die Root-Domain und den verbleibenden Subdomain-Anteil zeigt
Beispiele fĂŒr Root-Domain-Extraktion
| Eingabe-Hostname | Root-Domain | Subdomain | Public Suffix |
|---|---|---|---|
www.example.com | example.com | www | com |
app.staging.example.co.uk | example.co.uk | app.staging | co.uk |
blog.mysite.com.au | mysite.com.au | blog | com.au |
myapp.github.io | myapp.github.io | (keine) | github.io |
s3.us-east-1.amazonaws.com | us-east-1.amazonaws.com | s3 | amazonaws.com |
example.com | example.com | (keine) | com |
deep.sub.example.pvt.k12.ma.us | example.pvt.k12.ma.us | deep.sub | pvt.k12.ma.us |
Warum einfaches String-Splitting fehlschlÀgt
Ein hÀufiger Fehler ist das Aufteilen am ersten oder letzten Punkt, um die Root-Domain zu finden. Dieser Ansatz versagt bei mehrstufigen TLDs:
Naive approach for "www.example.co.uk":
Split on last dot -> root = "co.uk" (WRONG - that's the TLD)
Split on first dot -> root = "example.co.uk" (correct by accident)
Naive approach for "www.bbc.co.uk":
Split on first dot -> root = "bbc.co.uk" (correct by accident)
Naive approach for "app.staging.example.co.uk":
Split on first dot -> root = "staging.example.co.uk" (WRONG)
Die Public Suffix List ist die einzige zuverlĂ€ssige Methode, um TLD-Grenzen zu bestimmen. Sie katalogisiert ĂŒber 9.000 Public Suffixes, einschlieĂlich LĂ€ndercode-TLDs, generischer TLDs und privater Suffixes, die von Cloud-Diensten verwendet werden.
Wann Sie den Root-Domain-Extractor verwenden sollten
- Cookie-Sicherheitsanalyse -- Browser verwenden die Public Suffix List, um den Cookie-Domain-Bereich zu bestimmen; dieses Tool zeigt Ihnen dieselben Grenzen
- Zertifikats-SAN-ĂberprĂŒfung -- Identifizierung, welche registrierbaren Domains in Subject Alternative Names erscheinen
- Domain-Reputations-Lookups -- Threat-Intelligence-Feeds erfordern die registrierbare Domain, nicht Subdomains
- Firewall-Regelerstellung -- Erstellung von domainbasierten Erlaubnis-/Sperregeln, die alle Subdomains einer registrierten Domain abdecken
- Domain-EigentĂŒmerzuordnung -- Gruppierung vieler Hostnamen nach ihrer registrierbaren Domain, um die organisatorische EigentĂŒmerschaft zu verstehen
- Protokollanalyse -- Aggregation von Web-Traffic- oder DNS-Protokollen nach Root-Domain anstelle einzelner Hostnamen
Wie die Public Suffix List funktioniert
Die Public Suffix List (PSL), gepflegt von Mozilla, definiert die Grenzen zwischen Public Suffixes und registrierbaren Domainnamen. Sie enthÀlt drei Arten von EintrÀgen:
ICANN-Domains
Standard-TLDs, die von ICANN verwaltet werden, einschlieĂlich:
- Generische TLDs:
com,net,org,info,app,dev - LĂ€ndercode-TLDs:
uk,de,jp,au - Mehrstufige LĂ€nder-TLDs:
co.uk,com.au,co.jp,ac.uk
Private Domains
Suffixes, die von privaten Organisationen betrieben werden und die öffentliche Registrierung von Subdomains ermöglichen:
github.io-- GitHub Pages Custom Domainsamazonaws.com-- AWS-Service-Endpunkteazurewebsites.net-- Azure-Web-App-Hostnamenherokuapp.com-- Heroku-Anwendungsdomains
Unter dem privaten Suffix github.io wird die Domain myproject.github.io als registrierbare Domain behandelt, was bedeutet, dass myproject.github.io die Root ist, nicht github.io.
Ausnahmeregeln
Einige EintrÀge verwenden Ausnahme-Syntax (mit vorangestelltem !), um SonderfÀlle auszunehmen, bei denen ein Label, das sonst Teil des Public Suffix wÀre, selbst eine registrierbare Domain ist.
Root-Domain-Extraktion in der Praxis
Die wichtigste Anwendung der Root-Domain-Extraktion ist Sicherheit. Browser verwenden die Public Suffix List zur Durchsetzung von Cookie-Domain-Grenzen und verhindern, dass eine Website bei evil.co.uk Cookies fĂŒr ganz .co.uk setzen kann. Wenn Sie irgendeine Art von Sicherheitstool entwickeln, das Entscheidungen basierend auf Domain-EigentĂŒmerschaft trifft, benötigen Sie PSL-basierte Extraktion, nicht naives String-Splitting. Eine hostnamensbasierte Sperrliste, die malware.example.com sperrt, sollte auch other.example.com sperren, da sie dieselbe registrierbare Domain und wahrscheinlich denselben EigentĂŒmer teilen, aber sie sollte nicht example.co.uk sperren, da co.uk ein Public Suffix mit Tausenden unabhĂ€ngiger Registranten ist.
Bei der Analyse von Protokollen oder Bedrohungsdaten ist die Gruppierung nach Root-Domain weitaus nĂŒtzlicher als die Gruppierung nach vollstĂ€ndigem Hostnamen. Ein Angreifer könnte Dutzende von Subdomains unter einer einzigen registrierbaren Domain verwenden (c2-1.evil.com, c2-2.evil.com, payload.evil.com), und die Gruppierung nach Root-Domain zeigt, dass all diese AktivitĂ€t auf eine Registrierung zurĂŒckgeht. Umgekehrt wĂŒrde die Behandlung jedes vollstĂ€ndigen Hostnamens als unabhĂ€ngig das Muster verschleiern.
Beachten Sie den Unterschied zwischen ICANN-Suffixes und privaten Suffixes. FĂŒr die meisten Sicherheits- und EigentĂŒmeranalysen möchten Sie nur ICANN-Suffixes verwenden. Nach ICANN-Regeln sind myapp.github.io und yourapp.github.io separate registrierbare Domains, die verschiedenen Personen gehören. Aber aus einer breiteren EigentĂŒmerperspektive sind beide Subdomains von GitHubs Infrastruktur. Einige Tools und Bibliotheken ermöglichen es Ihnen zu wĂ€hlen, welchen PSL-Abschnitt Sie konsultieren, und die richtige Wahl hĂ€ngt von Ihrem Anwendungsfall ab.
HĂ€ufig gestellte Fragen
Was ist der Unterschied zwischen einer Root-Domain und einer TLD?
Die TLD (Top-Level-Domain) ist das Public Suffix selbst, wie com oder co.uk. Die Root-Domain (registrierbare Domain) ist die TLD plus ein zusĂ€tzliches Label -- der Name, den jemand tatsĂ€chlich registriert. FĂŒr www.example.co.uk ist die TLD co.uk und die Root-Domain ist example.co.uk.
Wie werden Cloud-Anbieter-Domains wie *.amazonaws.com behandelt?
Cloud-Anbieter-Domains sind als private Suffixes in der PSL gelistet. FĂŒr s3.us-east-1.amazonaws.com ist das Public Suffix amazonaws.com (privat), sodass die Root-Domain us-east-1.amazonaws.com ist. Dies entspricht der Art, wie Browser Cookies fĂŒr diese Dienste scopen.
FĂŒhrt dieses Tool DNS-Lookups durch?
Nein. Die Root-Domain-Extraktion wird vollstĂ€ndig offline unter Verwendung der Public-Suffix-List-Daten durchgefĂŒhrt. Es werden keine DNS-Abfragen gestellt. Das Tool bestimmt strukturelle Domain-Grenzen, nicht ob eine Domain tatsĂ€chlich existiert oder aufgelöst wird.
Warum wird myapp.github.io als Root-Domain angezeigt und nicht github.io?
Weil github.io als privates Suffix in der PSL gelistet ist. GitHub ermöglicht es Benutzern, Subdomains unter github.io fĂŒr GitHub Pages zu registrieren, was jede Benutzer-Subdomain zu einer separaten registrierbaren Domain macht. Dies ist der gleiche Grund, warum Browser verhindern, dass eine GitHub-Pages-Website Cookies einer anderen liest.
Wie oft wird die Public Suffix List aktualisiert?
Mozilla pflegt die PSL als gemeinschaftsgetriebenes Projekt mit hĂ€ufigen Aktualisierungen. Neue TLDs, Cloud-Anbieter-Suffixes und Korrekturen werden regelmĂ€Ăig zusammengefĂŒhrt. Das Tool verwendet eine periodisch aktualisierte Kopie der Liste, um aktuelle TLD-Grenzen widerzuspiegeln.
Verwandte Tools
- Subdomain-Extractor - Den Subdomain-Anteil aus Hostnamen in Masse extrahieren
- FQDN-Validator - Vollqualifizierte Domainnamen validieren
- Hostname-Validator - Hostnamen gemÀà RFC 1123 validieren
- URL-zu-Hostname-Extractor - Hostnamen aus URLs in Masse extrahieren
- BIND-Zone-A/AAAA-Generator - BIND-Zone-A- und AAAA-Records aus CSV generieren