Étape 1 : Les enregistrements MX
L'enregistrement MX (Mail Exchanger) indique quel serveur est responsable de la réception des emails pour un domaine. C'est le point de départ de toute analyse.
Chaque enregistrement MX contient une priorité (plus le chiffre est bas, plus le serveur est prioritaire) et un nom d'hôte. C'est ce nom d'hôte qui donne souvent le premier indice sur l'hébergeur.
# Résultat :
1 aspmx.l.google.com.
5 alt1.aspmx.l.google.com.
10 alt2.aspmx.l.google.com.
; Résultat :
exemple.fr MX preference = 1, mail exchanger = aspmx.l.google.com
exemple.fr MX preference = 5, mail exchanger = alt1.aspmx.l.google.com
On analyse le MX de plus haute priorité (chiffre le plus bas). L'outil compare le nom d'hôte avec une base de mots-clés associés à des hébergeurs connus.
Étape 2 : L'enregistrement SPF
Le SPF (Sender Policy Framework) est un enregistrement TXT qui liste les serveurs autorisés à envoyer des emails pour un domaine. C'est notre meilleur allié quand un anti-spam masque le MX.
# Résultat :
"v=spf1 include:_spf.google.com include:spf.mailinblack.com ~all"
; Chercher la ligne commençant par v=spf1
"v=spf1 include:_spf.google.com include:spf.mailinblack.com ~all"
L'analyse consiste à :
1. Extraire toutes les directives include: et redirect= du SPF.
2. Filtrer les services qui ne sont pas des hébergeurs mail : outils marketing (Mailchimp, Sendinblue…), ERP/CRM (Salesforce, HubSpot…), et les anti-spam eux-mêmes.
3. Comparer les includes restants avec la base de mots-clés d'hébergeurs.
Dans l'exemple ci-dessus, _spf.google.com identifie Google Workspace comme hébergeur, et spf.mailinblack.com est filtré comme anti-spam.
Étape 3 : Autodiscover / Autoconfiguration
Autodiscover est un mécanisme utilisé par les clients mail (Thunderbird, Outlook,…) pour configurer automatiquement les paramètres de connexion. Il pointe vers l'hébergeur mail actuellement utilisé.
On vérifie deux types d'enregistrements :
a) Le CNAME autodiscover.domaine.fr
# Résultat :
autodiscover.outlook.com.
; Résultat :
autodiscover.exemple.fr canonical name = autodiscover.outlook.com
b) L'enregistrement SRV _autodiscover._tcp.domaine.fr
# Résultat :
0 0 443 mail.infomaniak.com.
; Résultat :
_autodiscover._tcp.exemple.fr SRV service location:
priority = 0, weight = 0, port = 443, target = mail.infomaniak.com
Étape 4 : La bannière SMTP
En se connectant au port 25 du serveur MX, on récupère sa bannière d'accueil SMTP. Cette bannière peut révéler le logiciel utilisé (Postfix, Exchange, Exim…) ou parfois directement le nom de l'hébergeur.
$ telnet aspmx.l.google.com 25
220 mx.google.com ESMTP gsmtp
# Ou avec openssl (si le port 25 est filtré)
$ echo "QUIT" | nc -w 3 aspmx.l.google.com 25
220 mx.google.com ESMTP gsmtp
C:\> telnet aspmx.l.google.com 25
220 mx.google.com ESMTP gsmtp
:: Avec PowerShell
PS> (New-Object Net.Sockets.TcpClient("aspmx.l.google.com",25)).GetStream() | ...
220 mx.google.com ESMTP gsmtp
Étape 5 : Détection de l'auto-hébergement
Si aucun hébergeur connu n'est identifié, on vérifie si le domaine du serveur MX correspond au domaine recherché.
# MX trouvé :
10 mail.monentreprise.fr.
# → Le MX contient le domaine recherché
# → Probable auto-hébergement
Étape 6 : Géolocalisation du serveur
Une fois le serveur MX identifié, on résout son adresse IP puis on interroge une base de géolocalisation pour déterminer le pays d'hébergement. Service : db-ip.com
$ dig A aspmx.l.google.com +short
142.250.153.26
# Géolocaliser (via API publique)
$ curl -s "http://api.db-ip.com/v2/free/142.250.153.26/countryName"
United States
C:\> nslookup aspmx.l.google.com
Address: 142.250.153.26
:: Géolocaliser (PowerShell)
PS> (Invoke-WebRequest "http://api.db-ip.com/v2/free/142.250.153.26/countryName").Content
United States
📝 Récapitulatif des enregistrements DNS utilisés
| Enregistrement | Rôle | Fiabilité |
|---|---|---|
| MX | Identifie le serveur qui reçoit les emails | Haute sauf si anti-spam en frontal |
| TXT (SPF) | Liste les serveurs autorisés à envoyer des emails | Haute mais peut contenir des restes d'ancienne config |
| CNAME / SRV (Autodiscover) |
Pointe vers le fournisseur mail pour la configuration auto | Très haute mais pas toujours présent |
| Bannière SMTP | Identifie le logiciel serveur, parfois l'hébergeur | Variable dépend de la configuration du serveur |
⚠️ Limites connues
Cette méthode fonctionne dans la majorité des cas, mais certaines configurations restent difficiles à analyser :
- Anti-spam sans SPF exploitable : si le domaine n'a pas d'enregistrement SPF (ou un SPF trop générique), la détection derrière un anti-spam échoue.
- SPF hérité / non nettoyé : des includes d'anciens hébergeurs peuvent fausser l'analyse.
- Hébergeurs non référencés : la méthode repose sur une base de mots-clés ; un hébergeur inconnu ne sera pas reconnu.
- Configurations atypiques : relais SMTP personnalisés, serveurs mutualisés avec des noms génériques, etc.
- Port 25 filtré : la récupération de la bannière SMTP peut échouer depuis certains réseaux.
Le code source de cet outil est disponible sur GitLab. Contributions bienvenues !
Vérifier par vous-même
Toutes les commandes de cette page portent sur des données publiques : n'importe qui peut refaire l'analyse et arriver au même résultat. C'est le principe de l'outil, et son code est ouvert. Pour la version sans jargon, il y a le guide simplifié.