11-04-2016, 17:08 door Anoniem: Bedankt voor alle reacties ! Ik ga ermee aan de slag. Ook zal ik proberen de ingewikkelde instructie en taal van Eric, van " start... (slik) CMD prompt" t/m "catch-all" te ont-chinezen ;)
Sja, uit 2 regels bijdrage van Amoniem valt natuurlijk het kennisniveau niet af te leiden... Ik probeer het uit te leggen.
Als je mail stuurt naar "emailnaam@ditdomein.tld" geldt meestal dat "ditdomein.tld", zoals
security.nl,
niet de FQDN (Fully Qualified Domain Name, een wereldwijd unieke naam)
van de bedoelde mailserver is - terwijl bijvoorbeeld www.security.nl
wel de naam van een server is (lichtelijk verwarrend is dat
http://security.nl/, dus "ditdomein.tld" zonder voorafgaande "www.",
wel werkt).
Affijn, in DNS (Domain Name System) kun je verschillende soorten
records opslaan en dus raadplegen. Enkele voorbeelden:
- Een "A" (Address) record bevat de relatie tussen een naam en een IP-adres;
- Een "MX" (Mail eXchanger) record bevat de relatie tussen een naam en een mailserver (kan opnieuw een naam opleveren, een IP-adres, of beide);
- Een "TXT" record bevat tekst;
- Een "PTR" record bevat de omgekeerde relatie van een IP-adres naar een naam. Dit zijn echter optionele records die, als ze al bestaan, onzin kunnen bevatten.
Terug naar de uitleg van "command prompt" programma's.
Als je op de Start knop drukt (mits je die nog hebt, lang leve W8 en later), en in het veld waarin je kunt tikken, invoert:
zie je heel even iets voorbijflitsen (een zwart command prompt venster waarin die nslookup opdracht wordt uitgevoerd, waarna het command prompt venster meteen weer wordt gesloten; niet echt handig dus).
Handiger is het om een "permanente" command prompt (ook bekend als shell) op te starten. Dat doe je door op Start te drukken, in het invoerveld in te voeren:
gevolgd door de Enter toets. In mijn (Engelstalige) Windows 7 versie verschijnt er dan een zwart venster met de volgende witte tekst:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Erik>_
waarbij dat laatste zwarte liggende streepje knippert, dat is
cursor achter de opdrachtprompt. D.w.z. als je gaat tikken, verschijnen de letters, cijfers en tekens daar (waarbij die cursor steeds nmaar rechts opschuift, totdat je de Enter toets indrukt; dat is een teken aan het achterliggende programma (CMD.EXE) om de door jou ingevoerde instructie te
interpreteren (lezen en verwerken). Daarom wordt CMD.EXE ook wel een
command line interpreter genoemd.
De "lol" is dat je, vanaf die commandline, allerlei programma's kunt starten. Als je bijvoorbeeld intikt:
gevolgd door de Enter toets, start WordPad (omdat het programma hierachter, vreemd genoeg,
"write.exe" heet).
Je kunt
ook niet-grafische (d.w.z. niet muisgestuurde) programma's opstarten, die zelf ook weer een commando-interpreter aan boord hebben - die meestal ingevoerde opdrachten totaal anders interpreteren.
Voorbeelden van dergelijke specialistische commando-interpreterers zijn
nslookup,
netsh en
telnet (dat laatste, met MS Windows installatiemedia meegeleverde programma, wordt standaard meestal niet geïnstalleerd).
Interessant in dit kader is
nslookup (feitelijk nslookup.exe, maar in zo'n venster hoef je die .exe niet te tikken; cmd zoekt naar bestanden met verschillende extensies zoals .cmd, .bat en.exe, totdat er een match is gevonden).
Met het nslookup.exe programma kun je DNS raadplegen. Als je het opstart, is standaard het A type DNS record geselecteerd. Dus als je CMD hebt gestart, en achter de command prompt intikt:
en daarna de Enter toets indrukt, verschijnt er iets als:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Erik>nslookup
Default Server: fritz.box
Address: 192.168.178.1
> _
Hier zie je dat het programma "nslookup.exe" een default DNS server heeft gekozen, in dit geval mijn ADSL modem/router thuis. Door, op de plaats van het liggende streepje, in te tikken:
(gevolgd door de Enter toets) wijzigen de onderste regels van het bovenstaande in:
C:\Users\Erik>nslookup
Default Server: fritz.box
Address: 192.168.178.1
> server 8.8.8.8
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
> _
Het hoort niet uit te maken aan welke DNS server je DNS records vraagt, met een klein verschil: voor elk domein bestaan een
authoritative DNS server, d.w.z. dat is de "master" die informatie waarop DNS records voor dat domein worden gepubliceerd; alle andere servers zijn
slaves en die kunnen verouderde informatie gecached hebben en aan jou als antwoord geven.
Als je achter die laatste promt "security.nl" invoert, ziet dat er eruit als volgt:
> www.security.nl
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: www.security.nl
Addresses: 190.93.241.205
190.93.242.205
> _
Doe je dat nog een keer, dan is de kans groot dat de 2 IP-adressen in de
omgekeerde volgorde staan. Voor de vraag "security.nl" (i.p.v. "www.security.nl" krijg je overigens hetzelfde antwoord, maar dat
had anders kunnen zijn). In elk geval is het meestal zo dat met zowel "www.domein.tld" als met "domein.tld"
dezelfde server bedoeld wordt, om precies te zijn, een
webserver - en geen mailserver.
Om e-mail te kunnen verzenden bestaan alternatieve DNS records, de zogenaamde
MX records. MX staat daarbij voor Mail eXchanger (ontvangende mailserver in dit geval).
Om het IP-adres van een
mailserver te achterhalen, tik je (nog steeds in nslookup):
met het volgende, nogal stille, resultaat (ik herhaal nog even de laatste regels van de vorige vraag):
> security.nl
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: security.nl
Addresses: 190.93.241.205
190.93.242.205
> set type=mx
> _
Als je nu
security.nl intikt, gebeurt er iets heel anders (ik herhaal nog weer even de laatste regel):
> set type=mx
> security.nl
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
security.nl MX preference = 1, mail exchanger = mx1.certifiedsecure.com
> _
Kijk, dat is een heel ander resultaat! En een IP-adres ontbreekt... Om het IP-adres van "mx1.certifiedsecure.com" vast te stellen, moet je een A-record opvragen. Dus doen we het volgende:
> set type=a
> mx1.certifiedsecure.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: mx1.certifiedsecure.com
Address: 82.94.221.131
> _
Zoals je ziet is dat een totaal ander IP-adres.
Wie de eigenaar of ISP is van een reeks IP-adressen, stel je vast met het "whois" commando. Standaard heeft Windows dat niet aan boord (maar je kunt een commandline-versie daarvan wel gratis downloaden bijv. vanaf
https://technet.microsoft.com/en-us/sysinternals/whois.aspx).
Net als voor nslookup bestaan er internetsites waar je whois lookups mee kunt doen. Surf bijvoorbeeld naar
http://whois.domaintools.com/ en voer het IP-adres in (of surf direct direct
http://whois.domaintools.com/82.94.221.131).
Je zult dan zien dat genoemd IP-adres bij XS4All is geregistreerd - al sinds 25 oktober 1994...
http://whois.domaintools.com/190.93.241.205 wijst uit dat de
website van security.nl bij (feitelijk
via) Cloudflare wordt gehost.
Met "catch-all" wordt bedoeld dat als je email stuurt naar een niet-bestaande-gebruiker @domain.tld, deze mail
toch wordt geaccepteerd en naar een speciaal account wordt doorgestuurd (meestal info@ ).
Voorbeelden van het opvragen van TXT records m.b.v. nslookup vind je in
https://www.security.nl/posting/463813/Waarom+DMARC+%28%2BSPF+%2BDKIM%29.
Ik hoop dat het, met dit wel erg lange verhaal, een beetje duidelijk is geworden!