E-mailheader analyseren

Plak een ruwe e-mailheader of open een EML-, TXT- of HEADERS-bestand om compacte transportmetadata om te zetten in een leesbaar rapport. De analyser vouwt vervolgvelden uit, bewaart dubbele velden in hun oorspronkelijke volgorde, bouwt een Received-tijdlijn vanaf de oorsprong en vat de gerapporteerde SPF-, DKIM-, DMARC- en ARC-informatie samen. Alles wordt in het huidige browsertabblad verwerkt en de berichttekst wordt genegeerd. Het rapport levert aanwijzingen voor technisch onderzoek, maar bewijst niet dat een afzender echt of een bericht veilig is.

Hoe het werkt

  1. 1

    Haal de ruwe header op

    Gebruik in je mailprogramma ‘Origineel weergeven’ of ‘Bron bekijken’ en plak het volledige headerblok, of upload het opgeslagen bestand.

  2. 2

    Kies rapportonderdelen

    Laat routering, authenticatie en technische bevindingen aanstaan, of verberg onderdelen die niet relevant zijn voor je onderzoek.

  3. 3

    Lees en exporteer

    Bekijk de tijdlijn vanaf de oorsprong en de gerapporteerde authenticatiemetadata. Kopieer daarna een samenvatting of exporteer een opgeschoond CSV- of JSON-rapport.

Wat een e-mailheader wel en niet kan laten zien

Internetmail bestaat uit benoemde headervelden, gevolgd door een lege regel en de berichttekst. RFC 5322 definieert dit formaat, inclusief veldvouwing: een regel die met witruimte begint, zet het vorige veld voort. De analyser vouwt zulke vervolgregels uit voordat de gegevens worden geïnterpreteerd. Bij de eerste lege regel stopt de analyse, zodat berichttekst en bijlagen buiten beschouwing blijven.

Mail transfer agents voegen normaal gesproken vooraan een Received-veld toe wanneer een bericht een server passeert. In de ruwe bron staan die velden daardoor van nieuw naar oud. Het rapport keert ze om tot een tijdlijn die bij de oorsprong begint. Een tijdsverschil verschijnt alleen als beide aangrenzende tijdstempels geldig kunnen worden gelezen. Een negatief verschil wordt gemeld als mogelijke klokafwijking en maakt de totale doorlooptijd onberekenbaar; het wordt nooit stilzwijgend op nul gezet.

Rapportonderdeel Wat wordt uitgelezen Belangrijke beperking
Berichtoverzicht From, Reply-To, Return-Path, To, Subject, Date en Message-ID Een weergegeven adres kan vervalst zijn
Routering Geordende Received-velden, tijdstempels en vertragingen tussen hops De oudste regel is niet automatisch een betrouwbare oorsprong
Authenticatie Methoden en eigenschappen uit Authentication-Results, Received-SPF en DKIM-tags Bestaande resultaten worden gelezen, niet onafhankelijk geverifieerd
ARC-structuur ARC-Seal, ARC-Message-Signature en ARC-Authentication-Results per instantie Structurele volledigheid valideert geen handtekening
Bevindingen Ontbrekende of dubbele velden, gemelde fouten, domeinverschillen en klokafwijking Dit zijn geen fraude- of veiligheidsconclusies

De authenticatiesectie lezen

RFC 8601 definieert Authentication-Results, een veld dat een ontvangend systeem toevoegt om uitkomsten als spf=pass, dkim=pass of dmarc=fail vast te leggen. De analyser bewaart dubbele Authentication-Results-velden, omdat een bericht meerdere beheerdomeinen kan passeren. Ook bijbehorende eigenschappen zoals smtp.mailfrom, header.d en header.from blijven behouden zoals ze zijn gerapporteerd.

Een DKIM-Signature bevat metadata zoals het ondertekenende domein (d=), de selector (s=), het algoritme (a=), de identiteit (i=) en lange cryptografische waarden (b= en bh=). Het rapport noteert nuttige tags en of handtekeningwaarden aanwezig zijn, maar laat handtekeningblokken bewust weg uit JSON-exports. Er vindt geen DNS-opzoeking of cryptografische verificatie plaats.

RFC 8617 definieert Authenticated Received Chain (ARC). Een ARC-instantie is structureel compleet als ze een ARC-Seal-, ARC-Message-Signature- en ARC-Authentication-Results-element met dezelfde i=-waarde bevat. ‘Compleet’ beschrijft hier alleen die drie elementen; het maakt de keten niet geldig of betrouwbaar.

Voorbeeld van een bezorgroute

Stel dat de ruwe bron twee Received-velden bevat. Het onderste veld zegt dat een oorsprong het bericht om 10:00:03 +0000 aan een relay overdroeg; het bovenste dat de relay de ontvanger om 10:00:10 +0000 bereikte. Het rapport toont eerst de oorsprong en berekent een waargenomen interval van 7 seconden. Tijdzoneverschillen worden meegenomen: tussen 10:00:03 +0000 en 12:00:06 +0200 zit 3 seconden, geen twee uur. Als de tweede genormaliseerde tijdstempel vijf seconden eerder ligt, meldt het rapport klokafwijking en blijft het totaal niet beschikbaar.

Vertrouwensgrenzen en veelvoorkomende valkuilen

RFC 5321 beschrijft SMTP-transport en de traceerinformatie die servers toevoegen. Headers van buiten een vertrouwd mailsysteem kunnen zijn verzonnen. Begin de vertrouwensketen bij een ontvanger die je beheert en ga alleen verder terug voor zover diens logboeken en beleid dat rechtvaardigen. Een verschil tussen de domeinen in het zichtbare From en Return-Path komt vaak voor bij mailinglijsten, doorstuurdiensten en transactionele platforms; het is een bevinding, geen bewijs van nabootsing.

Gecodeerde onderwerpen en weergavenamen kunnen RFC 2047 encoded words gebruiken. De analyser decodeert gangbare Base64- en quoted-printable-vormen in UTF-8, ISO-8859-1 en Windows-1252; niet-ondersteunde coderingen blijven met een waarschuwing zichtbaar. Zeer grote verzamelingen velden en hops worden begrensd om de browser responsief te houden. Bewaar voor incidentonderzoek het oorspronkelijke bericht apart: exports zijn beknopte rapporten en bevatten opzettelijk niet de ruwe invoer, berichttekst, bijlagen of DKIM-handtekeningblokken.

Privacy en exports

Parseren, selecteren, kopiëren en exporteren gebeurt lokaal in het huidige tabblad. Funnelstappen gebruiken tabgebonden sessieopslag in plaats van de URL, zodat ruwe headergegevens niet via Livewire worden verzonden of in navigatieparameters terechtkomen. De invoerlimiet is 512 KiB. De tijdlijn-CSV gebruikt UTF-8 met byte-order mark en CRLF-regels; cellen die met spreadsheetformuletekens beginnen, worden geneutraliseerd. JSON bevat geanalyseerde bevindingen en de waarschuwing van het rapport, niet de oorspronkelijke header.

Veelgestelde vragen

Nee. De analyser toont resultaten die al in de header staan. DNS-records, cryptografische handtekeningen, de identiteit van de afzender, inhoudsveiligheid en de betrouwbaarheid van het rapporterende veld worden niet geverifieerd.

Elke ontvangende server voegt normaal zijn eigen Received-veld vooraan toe; ruwe headers beginnen dus met de nieuwste hop. Het rapport keert de lijst om en toont de waargenomen route vanaf de oorsprong.

Een hop kan een onleesbare tijdstempel hebben, of genormaliseerde tijdstempels kunnen achteruitgaan doordat klokken verschillen of een veld onbetrouwbaar is. De analyser verbergt die onzekerheid niet door een negatief interval met nul te vervangen.

Die worden genegeerd. Het parseren stopt bij de eerste lege regel na het headerblok. De tool is bedoeld voor transportmetadata, niet voor analyse van berichtinhoud of bijlagen.

Nee. Analyse en exports worden in je browser gemaakt. In funnelmodus staat de ruwe invoer alleen in de sessieopslag van het huidige tabblad en komt deze niet in de URL of bij Livewire terecht.

Gerelateerde tools