как узнать к какому dns идет запрос
Как узнать DNS сервер который сейчас используется
Система доменных имен, которую мы называем DNS, является важным процессом, который сопоставляет доменные имена с их правильным IP-адресом. На самом деле это очень важная система, и с помощью DNS мы можем видеть разные веб-страницы в нашем веб-браузере.
Что такое DNS?
Давайте упростим задачу и попробуем понять, что такое DNS. Проще говоря, DNS — это база данных, состоящая из разных доменных имен и IP-адресов. Когда пользователь вводит доменные имена, такие как Google.com или Yahoo.com, DNS-серверы проверяют IP-адрес, с которым были связаны домены.
После сопоставления с IP-адресом он комментирует веб-сервер посещаемого сайта. Однако DNS-серверы не всегда были стабильными, особенно те, которые были назначены интернет-провайдерами. Это наиболее вероятная причина ошибок DNS, которые мы видим при просмотре разных веб-сайтов. В недавней статье мы писали про ТОП публичных 10 DNS серверов — если вы знаете что это такое можете перейти и почитать о них.
Что там по настройке DNS?
Что ж, если вы используете DNS-серверы по умолчанию вашего интернет-провайдера, то скорее всего, вы будете регулярно сталкиваться с ошибками, связанными с DNS. Некоторые из распространенных ошибок DNS включают в себя: сбой интернета, сервер DNS не отвечает, DNS_Probe_Finished_Nxdomain и т. Д.
Почти все проблемы, связанные с DNS, можно решить, выбрав собственный DNS. Существует множество общедоступных DNS-серверов, которые вы можете использовать, например, Google DNS, OpenDNS и т. д. Мы также поделились подробным руководством по переходу на Google DNS, которое вы также можете рассмотреть.
Однако перед переключением DNS-сервера всегда лучше записать текущий DNS-сервер. Итак, ниже мы описали несколько методов, которые помогут вам проверить DNS, который вы используете. Есть несколько способов проверить, какой DNS вы используете. Внимательно следуйте инструкциям, так как мы будем использовать CMD для поиска DNS.
Как проверить DNS в Windows
Теперь в командной строке вам нужно ввести следующую команду
ipconfig /all | findstr /R «DNS Servers»
Эта команда отобразит вам текущий DNS-сервер, который вы используете. Вы также можете использовать другой метод, чтобы узнать DNS-сервер в Windows. Для этого вам необходимо ввести следующую команду, указанную ниже.
nslookup google.com
Вы можете выбрать любой домен сайта вместо Google.com. Команда выведет список текущего DNS-сервера. Теперь вы знаете аж две команды CMD, и можете определить DNS на компьютере с Windows.
Как проверить DNS-сервер — Mac и Linux
Что ж, на компьютерах на базе Mac и Linux вам нужно ввести ту же команду CMD, чтобы узнать, какой DNS-сервер вы используете. Просто введите команду, указанную ниже, чтобы выполнить nslookup на любом веб-сайте.
nslookup google.com
Опять же, вы можете заменить Google.com любым веб-сайтом по вашему выбору. Итак, вот как вы можете проверить DNS-сервер на компьютере Mac и Linux.
Как проверить DNS-сервер на Android
Что касается проверки DNS-сервера на Android, у нас есть множество приложений для сканирования сети в Google Play Store. Вы можете использовать любое приложение сетевого сканера на Android, чтобы узнать, какой DNS-сервер использует ваш Android. Вы можете использовать такие приложения, как Network Info II, которые бесплатны и не показывают рекламы.
В Network Info II вам нужно посмотреть вкладку WiFi, а затем проверить записи DNS1 и DNS2. Это DNS-адреса, которые использует ваш телефон.
Как найти DNS-сервер на iOS
Что ж, как и Android, iOS также имеет множество приложений для сканирования сети для поиска DNS-сервера. Одно из популярных приложений для сканирования сети для iOS известно как Network Analyzer. Network Analyzer для iOS предоставляет много полезной информации о вашей сети Wi-Fi.
Итак, на iOS вы можете использовать Network Analyzer, а затем посмотреть IP-адрес DNS-сервера.
Как узнать DNS-сервер роутера
Ну, для тех, кто не знает, роутер использует DNS-сервер, назначенный интернет-провайдером. Однако это можно изменить, следуя рекомендациям, приведенным в этой статье. В случае, если вы хотите узнать, какой DNS-сервер использует ваш маршрутизатор, перейдите по IP-адресу роутера (192.168.1.1 или 192.168.0.1) и войдите в систему, указав имя пользователя и пароль.
Теперь вы увидите домашнюю страницу маршрутизатора. В зависимости от режима маршрутизатора вам необходимо проверить вкладку «Беспроводная сеть» или «Сеть». Там вы найдете параметры записи DNS 1 и DNS 2. Если вы хотите изменить DNS роутера, там вы можете указать новый адрес DNS.
Какой у меня DNS-сервер? Узнайте 4 метода проверки IP-адреса
Все компьютеры, подключенные к Интернету, имеют IP-адрес, чтобы найти их через Интернет другими машинами.
Этот IP-адрес состоит из нескольких номеров для удобства в вычислительных целей.
192.0.2.1 – пример для IP-адреса.
Но эти IP-адреса не являются юзер-френдли для человека, а это означает, что людям нелегко или невозможно зппомнить IP-адреса всех важных для них машин.
Поэтому в качестве решения для этой цели была введена новая концепция под названием Domain Names.
«www.example.com» – пример имени домена.
Они просты и легко запоминаются, поскольку они являются словами с алфавитными символами.
Каждое имя домена сопоставляется с IP-адресом.
Служба DNS выполняет преобразование между этими доменными именами и IP-адресами.
DNS-сервер – это компьютерный сервер, который содержит базу данных общедоступных IP-адресов и связанных с ними доменных имен.
Когда вы вводите имя домена в свой веб-браузер, если ваш маршрутизатор не располагает достаточной информацией для преобразования имени домена в IP-адрес, он использует помощь DNS-сервера для выполнения этого преобразования, подключившись к одному из доступных DNS-серверов.
Чтобы найти IP-адрес DNS-сервера, который используется вашим маршрутизатором, можно использовать один из приведенных ниже методов.
Способ 1. Использование графического интерфейса маршрутизатора
Самый простой способ найти IP-адрес DNS-сервера вашего маршрутизатора – проверить его с помощью графического интерфейса маршрутизатора.
1. Сначала вам нужно узнать IP-адрес вашего маршрутизатора. (В большинстве случаев IP-адрес по умолчанию – 192.168.1.1)
Для машин Windows:
1.1. Если вы используете машину Windows, откройте командную строку, набрав «cmd» в строке поиска Windows.
1.2. Введите «ipconfig», чтобы просмотреть информацию о сети.
Там вы сможете увидеть данные адреса шлюза по умолчанию в разделе «Сведения о беспроводной локальной сети».
В этом случае это 192.168.1.1
Для Linux-машин:
1.3. Если вы используете машину Linux, откройте терминал.
например, на машине Ubuntu.
Терминал можно открыть, выполнив поиск на панели поиска.
Здесь есть 2 IP-адреса, а один с самой низкой метрикой выбран в качестве IP-адреса по умолчанию, который в этом случае равен 10.8.0.1
2. Затем введите этот IP-адрес в адресную строку вашего веб-браузера, и вам будет предложено ввести имя пользователя и пароль, чтобы получить доступ к веб-интерфейсу вашего маршрутизатора
3. Затем на вкладке «Статус» вы сможете просматривать информацию DNS вашего маршрутизатора
Способ 2. Использование команд Windows
2.1. Один из способов – использовать команду nslookup.
Эта команда предоставляет вам информацию о поиске DNS.
Чтобы просмотреть их, вы можете ввести в командной строке:
Первые 2 строки вывода предоставляют вам данные DNS-сервера.
2.2. Второй способ – использовать команду «ipconfig / all» в командной строке:
Как вы можете видеть, 192.168.8.1 является DNS-адресом в соответствии с указанным выше выводом.
Способ 3: Использование команд Linux
В дистрибутивах Linux данные DNS могут быть извлечены из команд «host» или «dig»
host: host command – это утилита, которая выполняет поиск DNS.
Поэтому данные DNS-сервера можно просмотреть, как показано ниже:
Согласно вышеприведенному выводу, 10.0.10.11 является IP-адресом DNS-сервера.
dig: dig – инструмент, который используется для запроса DNS-серверов имен для получения информации о адресах хостов, почтовых обменах, серверах имен и соответствующей информации.
Как показано выше, эта команда предоставляет вам IP-адрес DNS-сервера, который используется вашим маршрутизатором.
Однако в некоторых случаях вы можете определить IP-адреса DNS-серверов, которые необходимы вашему компьютеру для использования, а затем их также можно передать на ваш маршрутизатор.
Их можно определить в файле ‘/etc/resolv.conf’, а его содержимое можно посмотреть:
В соответствии с вышеизложенным приоритет присваивается 10.0.80.11, и только если он не может получить соответствующую информацию, данные передаются в 10.0.80.12 для выполнения DNS-запроса.
Способ 4. Возьмите дамп пакетов и просмотрите данные DNS.
Чтобы взять пакетный дамп текущего сетевого трафика, можно использовать команду tcpdump.
Tcpdump – это инструмент анализа сетевых пакетов, в котором используются пакеты захвата или фильтрации tcp / ip, которые передаются по сети.
Он широко используется пользователями Linux для устранения неполадок в сети.
Чтобы просмотреть сетевой трафик, выполните команду ниже в от рута отдельной вкладки в терминале
Затем на другой вкладке генерируйте трафик DNS с помощью команды host или dig, как показано ниже.
Затем вы сможете увидеть аналогичный вывод ниже, в выводе tcpdump
В приведенном выше примере вы можете четко увидеть мою машину (IP-адрес 192.168.64.140) с DNS-сервером (IP-адрес 192.168.64.2) о доменном имени www.google.com
5 thoughts on “ Какой у меня DNS-сервер? Узнайте 4 метода проверки IP-адреса ”
Нет интернета что-то случилось с настройками?
Нет, что-то случилось с твоим мозгом
*itisgood, зачем же так грубо отвечать, особенно представительнице слабого пола? Где же ваши манеры, ваше воспитание, ваше интеллигентность, ваше субординация и ваше культурность, невежда? Зачем вы поступаете, как быдло? Какая у вас с этого выгода? Если нормально себя вести перед людьми, то люди не будут смотреть на вас, как на идиота сбежавшего из психиатрической больницы, а наоборот – к вам потянутся, это же так здорово, чем быть быдлой, кем вы себя и продемонстрировали.
Как узнать, какой DNS-сервер я использую на своем ПК
Содержание:
Вы установили в свою систему новый DNS-сервер и не знаете, работает он или нет. Что ж, есть способы это проверить. Вы можете сделать это изначально через командную строку или с помощью приложений для празднования 1/3 дня рождения.
Приоритет DNS
Прежде чем мы начнем, очень важно понять приоритет DNS.
Мы все понимаем, что по умолчанию мы используем DNS-серверы, предоставленные нашим поставщиком интернет-услуг. Но что происходит, когда вы вводите DNS для своей локальной системы или маршрутизатора? Какой DNS сейчас имеет приоритет?
Теперь вот аспект: если вы измените DNS-сервер на маршрутизаторе (допустим, Google DNS), то каждое устройство, связанное с маршрутизатором, будет регулярно использовать Google DNS, потому что это DNS-сервер. Однако, на вершине этого, если вы измените DNS-сервер на свой локальный ноутбук, чтобы разрешить, скажем, Cloudflare DNS, эти настройки переопределят настройки DNS маршрутизатора. Теперь лучше всего, если ваш ноутбук будет использовать Cloudflare DNS в качестве DNS-сервера, в то время как остальные устройства будут использовать Google DNS.
Итак, если мы оценим проблемы DNS-серверов, это будет примерно так:
Другие поставщики DNS, включая Cloudflare, дополнительно предоставляют сегмент на своем веб-сайте, который может быть затронут, если вы используете Cloudflare DNS, вы можете получить доступ к этому веб-сайту по этой ссылке.
Точно так же, когда вы перешли на OpenDNS, вы можете протестировать свой DNS-сервер по этой ссылке.
Есть несколько способов проверить DNS-сервер, который вы используете в Windows. Вот их несколько.
Способ 1
Чтобы проверить DNS-сервер, который вы используете в Windows, по-настоящему откройте команду spark off. Для этого в Windows 10 нажмите «Пуск», затем «Все программы», затем «Стандартные» и в конце в командной строке. И запустите последующий findstr «DNS-серверы».
Если вы думаете, все, что делает команда, это извлекает все значения конфигурации сообщества, после чего отфильтровывает из них строку «DNS-серверы».
Способ 2
Второй способ намного проще и имеет удобную команду. То есть честно выполните nslookup любого веб-адреса, и Windows покажет, какой DNS-сервер вы используете, как часть исследования. Чтобы выполнить nslookup, просто используйте команду ниже. Вы можете обновить «google.Com», указав любой веб-адрес. На самом деле вы даже можете заменить его вместе со своим собственным IP-адресом.
Чтобы проверить, какой DNS-сервер вы используете в Linux, просто откройте терминал и выполните nslookup для любого интернет-сайта. Просто введите следующую команду. Вы также можете обновить «google.Com» вместе со своим собственным IP-адресом.
Ubuntu_NSlookup в домашних окнах
Точно так же в macOS откройте терминал и отсортируйте следующую команду.
Чтобы запустить терминал в macOS, нажмите CMD + ПРОБЕЛ, чтобы запустить Spotlight, после чего введите «терминал». И нажмите ввод. Кроме того, вы можете открыть папку «Приложения», затем открыть «Утилиты» и дважды щелкнуть «Терминал». Когда откроются домашние окна терминала, воспроизведение вставьте следующую команду и нажмите ввод.
На рынке есть несколько приложений-сканеров от сообщества Android, которые могут помочь вам узнать, какой DNS вы используете. Я мог бы поддержать Network Info II. Приложение рыхлое, лёгкое, без рекламы.
Просто загрузите его из Play Keep, откройте его и перейдите на вкладку WiFi. Там вы увидите записи DNS 1 и DNS 2. Это DNS-серверы, которые вы используете.
Кроме того, вы также можете попробовать использовать сетевые утилиты PingTools. В нем есть ряд качественных и полезных инструментов. Вы также получаете дополнительные утилиты, которые могут выполнять такие обязанности, как сканирование UPnP, пробуждение LAN, сканирование портов и т. Д.
Чтобы распознать сделку с DNS, настройте приложение из Play Store и откройте его. Теперь нажмите на значок «Маршрутизатор» или «Интернет», и он отобразит всю информацию о сообществе. Здесь вы можете узнать, какой DNS вы используете, просмотрев записи DNS 1 и DNS 2.
По умолчанию ваш маршрутизатор использует DNS-сервер, предоставленный вашим интернет-провайдером, но если вы подозреваете, что кто-то изменил его для вашего маршрутизатора, вот способ его найти. Просто откройте веб-браузер, отсортируйте IP-адреса маршрутизатора (обычно 192.168.1.1 или 192.168.0.1) и войдите в систему, указав имя пользователя и пароль. У большинства маршрутизаторов есть возврат учетных данных. Как только вы заметите интернет-интерфейс маршрутизатора, в зависимости от версии маршрутизатора найдите записи DNS1 и DNS 2. Обычно он находится под альтернативой «Настройка сети» или «Статус».
В случае, если вы обнаружите здесь какой-либо IP-адрес DNS вечеринки в день рождения 0,33, попробуйте поискать в Google или выполнить nslookup с IP-адресом, чтобы узнать, какой сервер с ним связан. Если вы все же не уверены в провайдере DNS, то настоятельно рекомендуется обменять DNS на ваш соседний компьютер. Это отменит размещение вашего маршрутизатора, и теперь вы можете спокойно наслаждаться просмотром сети.
Заключение
Итак, это были некоторые из подходов к выяснению того, какой DNS-сервер вы используете. В зависимости от того, какое у вас рабочее устройство, выберите максимальную зеленую дорожку. В случае возникновения других вопросов или трудностей, позвольте мне сообщить об этом в обратной связи под.
Веселые пасхальные яйца от Google Ассистента
Как узнать адрес DNS сервера
Для открытия любой страницы в глобальной сети необходимо в адресной строке интернет-обозревателя напечатать ее доменное наименование. Простые пользователи именуют ее названием интернет-страницы.
Все домены во всемирной паутине имеют конкретный цифровой «Айпи-адрес». Перечни наименований сайтов и их IP хранятся на DNS серверах.
Ниже приведены подробные руководства о том, как узнать DNS не только для подключения ПК к интернету, но и для взаимодействия домена и хостинга для какой-нибудь интернет-страницы.
Методы определения
Чтобы определить свой DNS или если понадобилось выявить DNS провайдера, то для этого существуют различные методы. Рекомендуется воспользоваться следующими 3-мя эффективными методиками:
Методы №1 и №2 целесообразно применять для определения DNS, если имеется исправное подключение к глобальной сети, и оно нормально функционирует. Последний метод можно использовать при отсутствии интернет соединения.
1. С применением функционала командной строки
Итак, пользователям, задавшимся вопросом, как узнать свой либо ДНС провайдера, необходимо выполнить следующие последовательные действия:
1) Через «Пуск» запустить «КС»;
2) В отобразившемся черном окошке напечатать «ipconfig/all» и затем кликнуть «Enter»;
3) Появится подробная информация;
Среди множества дополнительных данных пользователю будут доступны сведения о ДНС серверах.
2. Анализ и корректировка параметров соединения
Чтобы решить поставленную задачу, через анализ свойств сети необходимо воспользоваться средствами из панели управления.
Алгоритм последовательности действий следующий:
1) Через меню «Пуск» открыть «Панель управления» и затем, если в ПК установлена ОС ХР, то следует войти в «сетевые подключения», а если «Семерка», то перейти во вкладку «Центр упр.сетями» и открыть «Изменение параметров адаптера»;
2) Далее отобразится перечень подключений, из которого необходимо выделить применяемое и вызвав на нем контекстное меню, кликнуть строчку «Свойства»;
3) Открыть закладку с перечнем, имеющим «протокол интернета (TCP/IP)», где прописаны действующие наименования серверов, которые можно корректировать и вводить предпочитаемые и альтернативные DNS адреса;
4) В случае выполнения каких-нибудь корректировок, то перед закрытием окна необходимо сохранить изменения.
3. Определяем, связавшись с поставщиком услуг связи
Это можно быстро сделать с помощью трех следующих способов:
1) Открыть официальный ресурс поставщика интернета и прочитать предоставленную информацию с его страницы;
2) Позвонить в службу технической поддержки;
3) Сформировать и отправить заявку на вызов специалиста на месторасположение компьютера пользователя.
Альтернативный вариант через онлайн-сервисы
В интернете значительное число сервисов, позволяющих быстро решить поставленную проблему, например, через «Яндекс». Необходимо просто напечатать в поисковой строке «Как узнать свой ip» или другой требуемый запрос и кликнуть «Найти».
Инструмент для отслеживания DNS-запросов: dnspeep
Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём возникла необходимость, а также расскажу о некоторых проблемах, с которыми я столкнулась при его написании. И, конечно, вы сами сможете попробовать код в действии.
Что нужно для начала работы с кодом
Чтобы было удобнее работать с кодом, я подготовила несколько бинарных файлов.
Команды для Linux (x86):
Коду необходим доступ ко всем отправляемым компьютером пакетам DNS, поэтому его необходимо запускать от имени root. По этой же причине утилиту tcpdump также нужно запускать от имени root: код использует libpcap — ту же библиотеку, что и tcpdump. Если вам по какой-либо причине не захочется загружать бинарные файлы и запускать их от имени root, вы можете воспользоваться моим исходным кодом и создать на его основе собственный.
Что получается в результате
Каждая строка представляет собой DNS-запрос и соответствующий запросу ответ.
Эти запросы отражают мои визиты на сайт neopets.com в браузере, а запрос bolt.dropbox.com возник потому, что у меня запущен агент Dropbox, и, как я полагаю, время от времени он заходит на свой сайт для синхронизации.
Зачем создавать ещё один инструмент DNS?
Я считаю, что в таком инструменте есть смысл, так как с его помощью можно лучше представить, как работает DNS — без этого инструмента довольно сложно понять, как ведёт себя DNS на компьютере.
Ваш браузер (и другие компьютерные программы) постоянно отправляет DNS-запросы. Если знать, какие запросы отправляет компьютер и какие ответы он получает, можно получить более реальную картину «жизни» компьютера.
Написанный мною код я также использую как инструмент отладки. На вопросы типа: «А не связана ли моя проблема с DNS?» ответить иногда бывает довольно сложно. Пользователи, не зная всей информации, зачастую, чтобы найти проблему, используют метод проб и ошибок или просто строят догадки, хотя, казалось бы, стоит просто проанализировать ответы на получаемые компьютером DNS-запросы, и проблема будет решена.
Можно увидеть, какое программное обеспечение «тайно» выходит в Интернет
Мне нравится в этом инструменте, что он даёт представление о том, какие программы моего компьютера пользуются Интернетом! Например, я обнаружила, что какая-то утилита на моём компьютере время от времени по непонятной причине отправляет запросы на ping.manjaro.org, вероятно, чтобы проверить, подключён ли мой компьютер к Интернету.
Один мой приятель с помощью этого инструмента обнаружил, что на его компьютере было установлено корпоративное ПО для мониторинга, которое он просто забыл удалить, когда увольнялся с прошлого места работы.
Если вы раньше не работали с tcpdump, поначалу может быть непонятно, что делает эта утилита
Рассказывая людям об отправляемых с компьютера DNS-запросах, я почти всегда хочу добавить: «Всю информацию можно получить через tcpdump!» Что делает утилита tcpdump? Она осуществляет разбор пакетов DNS! Например, вот как выглядит DNS-запрос incoming.telemetry.mozilla.org.:
Сначала эта информация может показаться «тёмным лесом», но её при некоторых навыках можно научиться читать. Давайте для примера разберём такой запрос:
A? означает DNS-запрос типа A;
incoming.telemetry.mozilla.org. — это имя объекта, к которому осуществляется запрос;
56271 — это идентификатор DNS-запроса;
192.168.1.181.42281 — исходный IP/порт;
192.168.1.1.53 — IP/порт назначения;
(48) — длина DNS-пакета.
Ответ выглядит следующим образом:
3/0/0 — количество записей в ответе: 3 ответа, 0 полномочий, 0 дополнительно. Исходя из моего опыта, tcpdump выводит только количество ответов на запрос.
CNAME telemetry-incoming.r53-2.services.mozilla.com, CNAME prod.data-ingestion.prod.dataops.mozgcp.net. и A 35.244.247.133 — это те самые три ответа
56271 — идентификатор ответов, соответствующий идентификатору запроса. По этому идентификатору можно понять, что это ответ на запрос из предыдущей строки.
С таким форматом, конечно, работать довольно сложно, ведь человеку нужно просто посмотреть на трафик DNS, к чему все эти нагромождения? И вот ему приходится вручную сопоставлять запросы и ответы, к тому же не всегда находящиеся на соседних строках. Здесь в дело вступают компьютерные возможности!
Я решила написать небольшую программку — dnspeep, которая будет сама выполнять такое сопоставление, а также удалять определённую (на мой взгляд, лишнюю) информацию.
Проблемы, с которыми я столкнулась при написании кода
При написании кода я столкнулась с рядом проблем.
Мне пришлось несколько изменить библиотеку pcap, чтобы заставить её правильно работать с Tokio на Mac OS — вот эти изменения. Это была одна из тех ошибок, на поиск которой ушло много часов, а всё исправление уложилось в одну строку.
Разные дистрибутивы Linux, по всей видимости, используют разные версии libpcap.so, поэтому мне не удалось воспользоваться непосредственно бинарным файлом, динамически компонующим libpcap (у других пользователей возникала такая же проблема, например здесь). Поэтому компилировать библиотеки libpcap в инструмент на Linux мне пришлось статически. Я до сих пор не понимаю, как такое правильно организовать на Rust, но я добилась, чего хотела, и всё заработало — я скопировала файл libpcap.a в каталог target/release/deps, а затем просто запустила cargo build.
Используемая мною библиотека dns_parser поддерживает не все типы DNS-запросов, а только некоторые самые распространённые. Возможно, для разбора DNS-пакетов можно было использовать другую библиотеку, но я не нашла подходящей.
Поскольку интерфейс библиотеки pcap выдает набор «голых» байтов (в том числе для данных Ethernet-фреймов), мне пришлось написать код, который определял, сколько байтов нужно отсечь от начала строки, чтобы получить IP-заголовок пакета. Но я уверена, что в моей задаче ещё остались «подводные камни».
Кстати, вы даже не представляете, каких сложностей мне стоило подобрать название для своей утилиты — ведь инструментов для работы с DNS великое множество, и у каждого своё название (dnsspy! dnssnoop! dnssniff! dnswatch!) Сначала я хотела включить в название слово spy (шпион) или его синонимы, а затем остановилась на показавшемся мне забавным названии, которое — о чудо! — ещё никто не занял для собственного DNS-инструмента.
У моей утилиты есть один недостаток: она не сообщает, какой именно процесс отправил DNS-запрос, но выход есть — используйте инструмент dnssnoop. Этот инструмент работает с данными eBPF. Судя по описанию, он должен работать нормально, но я его ещё не пробовала.
В моём коде наверняка ещё много ошибок
Мне удалось его протестировать только на Linux и Mac, и я уже знаю как минимум об одной ошибке (из-за того, что поддерживаются не все DNS-запросы). Если найдёте ошибку, пожалуйста, сообщите мне!
Сами по себе ошибки не опасны — интерфейс libpcap доступен только для чтения, самое худшее, что может случиться, — он получит какие-то непонятные данные и выдаст ошибку или аварийно завершит работу.
Мне нравится составлять небольшие учебные материалы
В последнее время я получаю огромное удовольствие от написания небольших учебных материалов по DNS. Вот ссылки на мои предыдущие статьи:
Простой способ составления DNS-запросов;
Рассказывается, что происходит внутри компьютера при отправке DNS-запроса;
Ранее в своих постах я просто объясняла, как работают существующие инструменты (например dig или tcpdump), а если и писала собственные инструменты, то довольно редко. Но сейчас для меня очевидно, что выходные данные этих инструментов довольно туманны, их сложно понять, поэтому мне захотелось создать более дружественные варианты просмотра такой информации, чтобы не только гуру tcpdump, но любые другие пользователи могли понять, какие DNS-запросы отправляет их компьютер.
А если вы хотите не только понимать, что происходит с запросами и ответами DNS на вашем компьютере, но и писать собственные протоколы для своих приложений, обратите внимание на профессии C++ разработчик или Java-разработчик, позволяющие с нуля освоить эти языки или прокачать своё владение ими. Приходите — опытные менторы и эксперты своего дела с удовольствием поделяться с вами своими знаниями.
Узнайте, как прокачаться и в других специальностях или освоить их с нуля: