Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dnsx — dnsx — это быстрый и многоцелевой DNS-инструментарий, позволяющий выполнять несколько DNS-запросов по вашему выбору с использованием списка предоставленных пользователем резолверов. | Kitploit
Инструменты/GitHubGitHub/projectdiscovery/dnsx
РазведкаПеречисление DNS и поддоменовСбор информацииУтилиты и фреймворкиАнализ DNS
GitHubprojectdiscovery/dnsx

dnsx

dnsx — это быстрый и многоцелевой DNS-инструментарий, позволяющий выполнять несколько DNS-запросов по вашему выбору с использованием списка предоставленных пользователем резолверов.

Репозиторий
2.8k3274 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

dnsx

Быстрый и многофункциональный DNS-инструментарий для выполнения DNS-запросов

Возможности • Установка • Использование • Запуск `dnsx` • Подстановочные знаки (Wildcard) • Примечания • Присоединиться к Discord


dnsx — это быстрый и многофункциональный DNS-инструментарий, разработанный для выполнения различных проверок с использованием библиотеки retryabledns. Он поддерживает несколько DNS-запросов, пользовательские резолверы, фильтрацию DNS-подстановок (wildcard) как в shuffledns и т.д.

Возможности

dnsx

  • Простая и удобная утилита для запросов DNS-записей.
  • Поддержка запросов A, AAAA, CNAME, PTR, NS, MX, TXT, SRV, SOA
  • Поддержка DNS разрешения / брутфорса
  • Поддержка пользовательских резолверов
  • Поддержка нескольких форматов резолверов (TCP/UDP/DOH/DOT)
  • Поддержка stdin и stdout
  • Автоматическая обработка подстановок (wildcard)

Установка

Для успешной установки dnsx требуется go1.21. Выполните следующую команду, чтобы установить последнюю версию:

root@kitploit:~
go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest

Использование

root@kitploit:~
dnsx -h

Будет отображена справка по инструменту. Вот все поддерживаемые флаги.

root@kitploit:~
INPUT:
   -l, -list string      список поддоменов/хостов для разрешения (файл или stdin)
   -d, -domain string    список доменов для брутфорса (файл или через запятую, или stdin)
   -w, -wordlist string  список слов для брутфорса (файл или через запятую, или stdin)

QUERY:
   -a                       запрос A записи (по умолчанию)
   -aaaa                    запрос AAAA записи
   -cname                   запрос CNAME записи
   -ns                      запрос NS записи
   -txt                     запрос TXT записи
   -srv                     запрос SRV записи
   -ptr                     запрос PTR записи
   -mx                      запрос MX записи
   -soa                     запрос SOA записи
   -any                     запрос ANY записи
   -axfr                    запрос AXFR
   -caa                     запрос CAA записи
   -recon                   запрос всех DNS-записей (a,aaaa,cname,ns,txt,srv,ptr,mx,soa,axfr,caa)
   -e, -exclude-type value  тип DNS-запроса для исключения (a,aaaa,cname,ns,txt,srv,ptr,mx,soa,axfr,caa) (по умолчанию нет)

FILTER:
   -re, -resp          отображать DNS-ответ
   -ro, -resp-only     отображать только DNS-ответ
   -rc, -rcode string  фильтровать результат по коду состояния DNS (например, -rcode noerror,servfail,refused)

PROBE:
   -cdn  отображать имя CDN
   -asn  отображать информацию ASN хоста

RATE-LIMIT:
   -t, -threads int      количество одновременных потоков (по умолчанию 100)
   -rl, -rate-limit int  количество DNS-запросов в секунду (по умолчанию отключено) (по умолчанию -1)

UPDATE:
   -up, -update                 обновить dnsx до последней версии
   -duc, -disable-update-check  отключить автоматическую проверку обновлений dnsx

OUTPUT:
   -o, -output string           файл для записи вывода
   -j, -json                    записывать вывод в формате JSONL(ines)
   -omit-raw, -or               исключить сырой DNS-ответ из вывода JSONL
   -ot, -output-template string пользовательский шаблон вывода (например, -ot '{{host}} {{a}}')

DEBUG:
   -hc, -health-check  выполнить диагностическую проверку
   -silent             отображать только результаты в выводе
   -v, -verbose        отображать подробный вывод
   -raw, -debug        отображать сырой DNS-ответ
   -stats              отображать статистику сканирования
   -version            отображать версию dnsx
   -nc, -no-color      отключить цвета в выводе

OPTIMIZATION:
   -retry int                количество попыток DNS (должно быть не менее 1) (по умолчанию 2)
   -hf, -hostsfile           использовать системный файл hosts
   -trace                    выполнять трассировку DNS
   -trace-max-recursion int  максимальное количество рекурсий для трассировки DNS (по умолчанию 32767)
   -resume                   возобновить существующее сканирование
   -stream                   потоковый режим (словник, wildcard, статистика и останов/возобновление будут отключены)
   -timeout value            максимальное время ожидания завершения DNS-запроса (по умолчанию 3s)

CONFIGURATIONS:
   -auth                         настроить ключ API projectdiscovery cloud (pdcp) (по умолчанию true)
   -r, -resolver string          список используемых резолверов (файл или через запятую)
   -wt, -wildcard-threshold int  порог фильтрации wildcard (по умолчанию 5)
   -auto-wildcard                автоматически обнаруживать домены с wildcard для фильтрации
   -wd, -wildcard-domain string  домен для ручной фильтрации wildcard (взаимоисключающе с -auto-wildcard; другие флаги будут проигнорированы - рекомендуется вывод JSON)

Запуск dnsx

DNS-разрешение

Фильтрация активных имен хостов из списка пассивных поддоменов, полученных из различных источников:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent

a.ns.hackerone.com
www.hackerone.com
api.hackerone.com
docs.hackerone.com
mta-sts.managed.hackerone.com
mta-sts.hackerone.com
resources.hackerone.com
b.ns.hackerone.com
mta-sts.forwarding.hackerone.com
events.hackerone.com
support.hackerone.com

Вывод A записей для заданного списка поддоменов:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -a -resp

www.hackerone.com [104.16.100.52]
www.hackerone.com [104.16.99.52]
hackerone.com [104.16.99.52]
hackerone.com [104.16.100.52]
api.hackerone.com [104.16.99.52]
api.hackerone.com [104.16.100.52]
mta-sts.forwarding.hackerone.com [185.199.108.153]
mta-sts.forwarding.hackerone.com [185.199.109.153]
mta-sts.forwarding.hackerone.com [185.199.110.153]
mta-sts.forwarding.hackerone.com [185.199.111.153]
a.ns.hackerone.com [162.159.0.31]
resources.hackerone.com [52.60.160.16]
resources.hackerone.com [3.98.63.202]
resources.hackerone.com [52.60.165.183]
resources.hackerone.com [read.uberflip.com]
mta-sts.hackerone.com [185.199.110.153]
mta-sts.hackerone.com [185.199.111.153]
mta-sts.hackerone.com [185.199.109.153]
mta-sts.hackerone.com [185.199.108.153]
gslink.hackerone.com [13.35.210.17]
gslink.hackerone.com [13.35.210.38]
gslink.hackerone.com [13.35.210.83]
gslink.hackerone.com [13.35.210.19]
b.ns.hackerone.com [162.159.1.31]
docs.hackerone.com [185.199.109.153]
docs.hackerone.com [185.199.110.153]
docs.hackerone.com [185.199.111.153]
docs.hackerone.com [185.199.108.153]
support.hackerone.com [104.16.51.111]
support.hackerone.com [104.16.53.111]
mta-sts.managed.hackerone.com [185.199.108.153]
mta-sts.managed.hackerone.com [185.199.109.153]
mta-sts.managed.hackerone.com [185.199.110.153]
mta-sts.managed.hackerone.com [185.199.111.153]

Извлечение A записей для заданного списка поддоменов:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -a -resp-only

104.16.99.52
104.16.100.52
162.159.1.31
104.16.99.52
104.16.100.52
185.199.110.153
185.199.111.153
185.199.108.153
185.199.109.153
104.16.99.52
104.16.100.52
104.16.51.111
104.16.53.111
185.199.108.153
185.199.111.153
185.199.110.153
185.199.111.153

Извлечение CNAME записей для заданного списка поддоменов:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -cname -resp

support.hackerone.com [hackerone.zendesk.com]
resources.hackerone.com [read.uberflip.com]
mta-sts.hackerone.com [hacker0x01.github.io]
mta-sts.forwarding.hackerone.com [hacker0x01.github.io]
events.hackerone.com [whitelabel.bigmarker.com]

Извлечение ASN записей для заданного списка поддоменов:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent  -asn

b.ns.hackerone.com [AS13335, CLOUDFLARENET, US]
a.ns.hackerone.com [AS13335, CLOUDFLARENET, US]
hackerone.com [AS13335, CLOUDFLARENET, US]
www.hackerone.com [AS13335, CLOUDFLARENET, US]
api.hackerone.com [AS13335, CLOUDFLARENET, US]
support.hackerone.com [AS13335, CLOUDFLARENET, US]

Проверка с использованием кода состояния DNS для заданного списка (под)доменов:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -rcode noerror,servfail,refused

ns.hackerone.com [NOERROR]
a.ns.hackerone.com [NOERROR]
b.ns.hackerone.com [NOERROR]
support.hackerone.com [NOERROR]
resources.hackerone.com [NOERROR]
mta-sts.hackerone.com [NOERROR]
www.hackerone.com [NOERROR]
mta-sts.forwarding.hackerone.com [NOERROR]
docs.hackerone.com [NOERROR]

Извлечение поддоменов из заданного диапазона сети с помощью запроса PTR:

root@kitploit:~
echo 173.0.84.0/24 | dnsx -silent -resp-only -ptr

cors.api.paypal.com
trinityadminauth.paypal.com
cld-edge-origin-api.paypal.com
appmanagement.paypal.com
svcs.paypal.com
trinitypie-serv.paypal.com
ppn.paypal.com
pointofsale-new.paypal.com
pointofsale.paypal.com
slc-a-origin-pointofsale.paypal.com
fpdbs.paypal.com

Извлечение поддоменов из заданного ASN с помощью запроса PTR:

root@kitploit:~
echo AS17012 | dnsx -silent -resp-only -ptr 

apiagw-a.paypal.com
notify.paypal.com
adnormserv-slc-a.paypal.com
a.sandbox.paypal.com
apps2.paypal-labs.com
pilot-payflowpro.paypal.com
www.paypallabs.com
paypal-portal.com
micropayments.paypal-labs.com
minicart.paypal-labs.com

Пользовательский формат вывода

Флаг -output-template (-ot) позволяет настроить формат вывода с помощью шаблона, вместо стандартного размещения в скобках (например, example.com [A] [104.20.23.154]). Вы указываете шаблон непосредственно в командной строке, чтобы управлять представлением разрешенных данных.

Переменные шаблона соответствуют тем же именам полей, которые используются в выводе JSONL (-json), поэтому любое из следующих полей может быть указано как {{field}}:

host, a, aaaa, cname, ns, txt, mx, srv, ptr, soa, caa, ttl, resolver, status_code, cdn-name, cdn-type, , . Для удобства псевдоним содержит объединенные записи и .

Записи с несколькими значениями (например, несколько записей A) объединяются запятыми в одном поле.

root@kitploit:~
echo example.com | dnsx -silent -a -ot '{{host}} {{a}}'

example.com 104.20.23.154,172.66.147.243
root@kitploit:~
echo example.com | dnsx -silent -a -ot '{{ip}} - {{host}}'

104.20.23.154,172.66.147.243 - example.com

[!NOTE] Если указанное поле не существует или не содержит значения, оно просто опускается в выводе. -output-template нельзя использовать вместе с -json или -raw.


DNS-брутфорс

Брутфорс поддоменов для заданного домена или списка доменов с помощью флагов d и w:

root@kitploit:~
dnsx -silent -d facebook.com -w dns_worldlist.txt

blog.facebook.com
booking.facebook.com
api.facebook.com
analytics.facebook.com
beta.facebook.com
apollo.facebook.com
ads.facebook.com
box.facebook.com
alpha.facebook.com
apps.facebook.com
connect.facebook.com
c.facebook.com
careers.facebook.com
code.facebook.com

Брутфорс целевого поддомена с помощью одного или нескольких ключевых слов, так как флаги d и w поддерживают ввод из файла или через запятую:

root@kitploit:~
dnsx -silent -d domains.txt -w jira,grafana,jenkins

grafana.1688.com
grafana.8x8.vc
grafana.airmap.com
grafana.aerius.nl
jenkins.1688.com
jenkins.airbnb.app
jenkins.airmap.com
jenkins.ahn.nl
jenkins.achmea.nl
jira.amocrm.com
jira.amexgbt.com
jira.amitree.com
jira.arrival.com
jira.atlassian.net
jira.atlassian.com

Значения принимаются из stdin для всех типов ввода (-list, -domain, -wordlist). Флаг -list по умолчанию использует stdin, но то же самое можно сделать для других типов ввода, добавив - (тире) в качестве параметра:

root@kitploit:~
cat domains.txt | dnsx -silent -w jira,grafana,jenkins -d -

grafana.1688.com
grafana.8x8.vc
grafana.airmap.com
grafana.aerius.nl
jenkins.1688.com
jenkins.airbnb.app
jenkins.airmap.com
jenkins.ahn.nl
jenkins.achmea.nl
jira.amocrm.com
jira.amexgbt.com
jira.amitree.com
jira.arrival.com
jira.atlassian.net
jira.atlassian.com

DNS-брутфорс с использованием шаблонного словника

root@kitploit:~
$ cat tld.txt

com
by
de
be
al
bi
cg
dj
bs
root@kitploit:~
dnsx -d google.FUZZ -w tld.txt -resp

      _             __  __
   __| | _ __   ___ \ \/ /
  / _' || '_ \ / __| \  / 
 | (_| || | | |\__ \ /  \ 
  \__,_||_| |_||___//_/\_\ v1.1.2

      projectdiscovery.io

google.de [142.250.194.99] 
google.com [142.250.76.206] 
google.be [172.217.27.163] 
google.bs [142.251.42.35] 
google.bi [216.58.196.67] 
google.al [216.58.196.68] 
google.by [142.250.195.4] 
google.cg [142.250.183.131] 
google.dj [142.250.192.3] 

Фильтрация wildcard

Особая возможность dnsx — это способность обрабатывать многоуровневые DNS-подстановки (wildcard), и делать это с очень небольшим количеством DNS-запросов. Иногда все поддомены разрешаются, что приводит к большому количеству мусора в выводе. dnsx решает эту проблему, отслеживая, сколько поддоменов указывают на один IP, и если количество поддоменов превышает определенный порог, он итеративно проверяет подстановки на всех уровнях хостов для этого IP.

root@kitploit:~
dnsx -l subdomain_list.txt -wd airbnb.com -o output.txt

Для автоматического обнаружения и фильтрации wildcard DNS по множеству доменов за один запуск с сохранением выбранного режима вывода:

root@kitploit:~
dnsx -l subdomain_list.txt -auto-wildcard -o output.txt

-auto-wildcard и -wd / -wildcard-domain являются взаимоисключающими. Используйте -wd, когда вы хотите использовать существующий ручной процесс фильтрации wildcard для одного домена; используйте -auto-wildcard, когда вы хотите, чтобы dnsx автоматически обнаруживал корни wildcard для смешанных доменов.


Dnsx как библиотека

Можно использовать библиотеку непосредственно в ваших программах на Go. Приведенный ниже фрагмент кода является примером использования в программах на Go. Подробную информацию о конфигурации и использовании пакета смотрите здесь.

root@kitploit:~
package main

import (
	"fmt"

	"github.com/projectdiscovery/dnsx/libs/dnsx"
)

func main() {
	// Create DNS Resolver with default options
	dnsClient, err := dnsx.New(dnsx.DefaultOptions)
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}

	// DNS A question and returns corresponding IPs
	result, err := dnsClient.Lookup("hackerone.com")
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}
	for idx, msg := range result {
		fmt.Printf("%d: %s\n", idx+1, msg)
	}

	// Query
	rawResp, err := dnsClient.QueryOne("hackerone.com")
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}
	fmt.Printf("rawResp: %v\n", rawResp)

	jsonStr, err := rawResp.JSON()
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}
	fmt.Println(jsonStr)

	return
}

📋 Примечания

  • По умолчанию dnsx проверяет A запись.
  • По умолчанию dnsx использует резолверы Google, Cloudflare, Quad9 (ссылка).
  • Пользовательский список резолверов можно загрузить с помощью флага r.
  • -auto-wildcard автоматически обнаруживает wildcard-домены для нескольких регистрируемых корней за один запуск.
  • Имя домена (-wd) требуется только для ручной фильтрации wildcard и не может использоваться вместе с -auto-wildcard.
  • При использовании ручной фильтрации wildcard с -wd другие флаги DNS-записей игнорируются, рекомендуется вывод JSON.
  • DNS-разрешение (l) и DNS-брутфорс (w) не могут использоваться вместе.
  • Операторы VPN часто фильтруют интенсивный трафик DNS/UDP, поэтому инструмент может испытывать потерю пакетов (например, Mullvad VPN). Проверьте возможное решение.

dnsx создан с 🖤 командой projectdiscovery.

Скачать инструмент
asn
query-time
{{ip}}
A
AAAA