Вопрос или проблема
Существует ли способ найти записи DKIM и DMARC домена, используя dig
или nslookup
?
Я попытался сделать следующее:
dig somedomain.org any
возвращает множество записей, но не известные текстовые записи DKIM и DMARC.
nslookup -type=txt somedomain.org
возвращает все известные текстовые записи, кроме записей DKIM и DMARC.
Чтобы запросить текстовую запись для DMARC, вы можете использовать:
dig TXT _dmarc.example.org
Чтобы запросить конкретную запись для DKIM, вам нужно знать префикс селектора. Вы найдете его в значении s
в заголовке DKIM-Signature электронного письма.
Например:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.org;
s=google; t=1615461277;
[…]
Затем вы можете запросить его как TXT:
dig TXT google._domainkey.example.org
Для записей DKIM, если вы получили электронное письмо с подписью DKIM от этого домена, посмотрите на строки заголовка DKIM-Signature.
Согласно спецификации:
Все ключи DKIM хранятся в поддомене с именем _domainkey. Если дано поле DKIM-Signature с тегом “d=” example.com и тегом “s=” foo.bar, DNS-запрос будет к foo.bar._domainkey.example.com.
Таким образом, в этом примере вы можете выполнить:
dig TXT foo.bar._domainkey.example.com
Благодарности andol, чья реплика привела меня к этому решению.
Вы должны использовать +short с dig, чтобы получить только запись DMARC.
dig +short TXT _dmarc.domain.com
Используя встроенный инструмент Windows nslookup
- Откройте командную строку (cmd.exe)
- Введите
nslookup
- Введите
set type=txt
- Введите
_dmarc.somedomain.org
, заменив somedomain.org
Пример:
C:\Users\user>nslookup
Default Server: localdns
Address: 192.168.1.1
> set type=txt
> _dmarc.somedomain.org
Неавторитетный ответ:
_dmarc.somedomain.org text =
"v=DMARC1; p=none; rua=mailto:[email protected]"
Вы можете использовать server 8.8.8.8
(Google DNS) перед запросом текстовой записи DMARC.
Вы можете напрямую запросить API в реестре DKIM archive.prove.email, отправив любой домен, а затем получить любые известные селекторы и текущие/исторические ключи DKIM для более чем миллиона ключей DKIM! Так что вам не нужно использовать dig или nslookup, вместо этого вы будете использовать cURL для API. Вам не нужно знать селектор, так как они уже пробовали более 4000 селекторов для этих доменов.
Ответ или решение
Для нахождения записей DKIM и DMARC домена, вы можете использовать инструменты командной строки, такие как dig
и nslookup
. Вот пошаговая инструкция по их использованию.
1. Узнайте записи DMARC
Чтобы получить запись DMARC, используйте следующую команду dig
:
dig +short TXT _dmarc.yourdomain.org
Где yourdomain.org
— это ваш домен. Эта команда вернет текстовую запись, содержащую политику DMARC, которая может выглядеть следующим образом:
"v=DMARC1; p=none; rua=mailto:example@yourdomain.org"
С использованием nslookup
Если вы используете nslookup
, выполните следующие шаги:
- Откройте командную строку (cmd.exe).
- Введите
nslookup
. - Установите тип запроса в
txt
:
set type=txt
- Введите
_dmarc.yourdomain.org
, заменивyourdomain.org
на ваш домен.
Пример:
> nslookup
> set type=txt
> _dmarc.yourdomain.org
Это должно вернуть запись DMARC.
2. Узнайте записи DKIM
Чтобы найти запись DKIM, вам необходимо знать селектор DKIM. Селектор можно найти в заголовке DKIM-Signature в полученном вами DKIM-подписанном электронном письме. Пример заголовка:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yourdomain.org; s=google; t=1615461277;
Здесь s=google
указывает на селектор google
. Для запроса записи DKIM используйте следующий формат с dig
:
dig TXT google._domainkey.yourdomain.org
Где google
— это селектор, а yourdomain.org
— это ваш домен.
С использованием nslookup
Как и в случае с DMARC, вы можете использовать nslookup
. Введите:
set type=txt
Затем выполните команду:
google._domainkey.yourdomain.org
3. Использование публичных DNS-серверов
Вы можете также использовать публичные DNS-серверы, например Google DNS. Для этого введите:
server 8.8.8.8
Затем выполните команды для получения записей DMARC и DKIM.
4. Альтернативный способ — API для DKIM
Если вам нужно получить больше информации о DKIM-записях, вы можете воспользоваться API на сайте archive.prove.email. Это позволит вам получить известные селекторы и текущие/исторические ключи DKIM для множества доменов без необходимости знать селектор.
Заключение
Использование команд dig
и nslookup
позволяет эффективно находить записи DKIM и DMARC. Убедитесь, что вы используете правильный селектор DKIM из заголовков электронной почты и корректный домен для DMARC.