Как узнать, какой сервер DNS мой wlan0 использует Kubuntu 15.04

ФОН

Я пытаюсь узнать, какой сервер DNS используется, когда я соединяюсь с Интернетом со своим wlan0 устройством. Я выполняю Kubuntu 15.04.

Я искал вокруг и попробовал несколько решений, ни одно из которых не работает на меня. Вот то, что я попробовал:

1. Используя команду nmcli

nmcli dev list | grep DNS

согласно ответу на подобный вопрос, который задают здесь.

Это было отмечено как ответ для OP, но для меня я просто получаю следующий вывод:

Ошибка: команда 'dev' 'список' не допустима.

2. Чтение resolv.conf:

cat /etc/resolv.conf

Это не дает мне информацию DNS для моего соединения.

  1. Используя nm-инструмент

nm-инструмент, кажется, не установлен в моей системе. Таким образом, это не корректный ответ для меня.

  1. Используя dnsmasq

Существует несколько ответов, которые включают использование dnsmasq. Но во всех случаях я не понял ответ достаточно для использования его, и я не знаю, каков dnsmasq.

ВОПРОС

Как я узнаю то, что DNS соединение использует, через командную строку или GUI, с Kubuntu 15.04?

[Править]

Кажется, что я испытал затруднения в артикулировании этого вопроса, потому что многие люди предоставили ответы, которые - пока корректный - не совсем ответы на вопрос, я имел в виду. Вот моя попытка разъяснения:

Ответы, предоставленные до сих пор просто, дают мне адрес моего маршрутизатора, потому что мой маршрутизатор ответственен за обеспечение интернет-соединения. Но вопрос, который я действительно имел в виду, был; какой Интернет сервер DNS используется, когда я ввожу, например, "www.google.com" в интернет-браузер?

Я думал, что это будет относительно легко узнать, главным образом потому что легко продиктовать, какой Интернет сервер DNS используется сам. Я могу, например, поднять свои настройки подключения и сказать этому использовать 8.8.8.8 для DNS, который является общедоступным сервером DNS Google. Мой вопрос, затем; если я не диктую определенного сервера DNS и оставляю маршрутизатор для использования независимо от того, что он присвоен, как я узнаю, какой сервер (серверы) DNS он использует?

2
задан 13 April 2017 в 15:24

4 ответа

Вот два пути:

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1         **<--Server**
search localdomain

или

$ dig localhost

; <<>> DiG 9.9.5-3ubuntu0.4-Ubuntu <<>> localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47070
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;localhost.         IN  A

;; ANSWER SECTION:
localhost.      0   IN  A   127.0.0.1

;; Query time: 1 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)         **<--Server**
;; WHEN: Wed Aug 05 11:30:10 EDT 2015
;; MSG SIZE  rcvd: 54

оказывается, что вопрос был, "Я хотел бы узнать, какие серверы DNS используются, когда я использую свое интернет-соединение для разрешения имени хоста к IP т.е. когда я использую свой интернет-браузер для просмотра на www.amazon.com, какой сервер DNS переводит это в IP"

Теперь, ответ:

Для существующего соединения, Вы не можете. Разрешение адреса DNS произошло и закончено, прежде чем можно будет открыть соединение.

Для наблюдения, какие серверы имен используются для разрешения запроса DNS Вы могли dig +trace @$( grep nameserver /etc/resolv.conf| awk '{print $2}' | head -n1 ) amazon.com

dig, от dnsutils пакет.

0
ответ дан 2 December 2019 в 01:45

С nmcli можно проверить, с какими серверами DNS dnsmasq настроен:

nmcli dev show wlan0 | grep -i dns

Пример был бы:

$ nmcli dev show wlan0 | grep -i dns
IP4.DNS[1]:                             10.11.12.1
IP4.DNS[2]:                             10.11.13.1
4
ответ дан 2 December 2019 в 01:45

Показать весь DNS для каждого сетевого устройства, кроме lo:

for i in /sys/class/net/*; do \
    awk -F/ '! /lo/ {system("nmcli dev show "$(NF)" | grep \"DNS\|DEVICE\"")}' <<< "$i"; \
done

Пример производится

GENERAL.DEVICE:                         eth0
IP4.DNS[1]:                             192.168.20.1    
0
ответ дан 2 December 2019 в 01:45

Обновление: Как показано в реве комментариев вопрос, OP хочет знать сервер DNS, который использует маршрутизатор. При использовании автоматического соединения все ответы, данные здесь, скажут Вам адрес Вашего маршрутизатора, что означает, что запросы переходят к Вашему маршрутизатору сначала. Маршрутизатор в свою очередь имеет свои собственные настройки, которые передают любой запрос DNS, который Вы отправляете в DNS маршрутизатора.

Обнаружение, какой сервер DNS используется на маршрутизаторе, только возможно при доступе к настройкам маршрутизатора, обычно для жилых маршрутизаторов через 192.168.0.1.

TL; DR: Версия 1 - проверяет системный журнал. Версия 2 - отправляет пакеты с nslookup или dig и посмотрите, куда они переходят в; более усовершенствованный и технический ответ, но определенно больше забавы и по-моему немного более надежен.

Другие ответы, отправленные выше, являются большими и работают 99% времени. В этом ответе я хотел бы предоставить несколько альтернативный, больше технического решения с nslookup. Другое простое решение состоит в том, чтобы проверить /var/log/syslog.

Метод системного журнала

Простой метод состоит в том, чтобы искать с grep инструмент для using nameserver строка в /var/log/syslog/ :

$ sudo grep 'using nameserver' /var/log/syslog                                                                                                     
Aug  6 02:25:34 ******** dnsmasq[1487]: using nameserver 208.67.220.220#53

tcpdump и nslookup метод

Вот не так простого метода, но возможно более надежен. Начиная с наблюдения, где движение запросов DNS скажет нам, что является реальным сервером DNS, мы можем сделать точно это. Существует такой инструмент как tcpdump. Это используется для анализа пакетов, отправляют интернет-адаптерами. Часто, этот инструмент используется в перьевом тестировании. Для нашей скромной цели определить DNS, мы только должны сделать две вещи - выполненный одновременно tcpdump и используйте другой инструмент nslookup (который на самом деле помогает искать доменные имена с помощью сервера DNS системы). Конкретно мы хотим искать пакеты с тем движением к .domain места назначения. Например, я работаю sudo tcpdump -c 50 -i wlan0 > tcpdump-result.txt получать 50 пакетов от моего беспроводного адаптера, и сразу перейти к другой терминальной вкладке и работать nslookup google.com. Для удобства я также произвел tcpdump закончитесь в файл tcpdump-result.txt

Теперь, с помощью определенного знания таких инструментов как grep и awk, Я отфильтровываю желаемую информацию о .domain:

$ awk '/.domain/ {gsub("my-host-name","****");print}' tcpdump-result.txt                                                                 
01:49:48.811363 IP ****.local.29258 > 192.168.0.1.domain: 11608+ PTR? 69.0.168.192.in-addr.arpa. (43)
01:49:49.095361 IP ****.local.44184 > google-public-dns.domain: 9560+ A? google.com. (28)
01:49:49.139361 IP google-public-dns.domain > ****.local.44184: 9560 1/0/0 A 216.58.217.46 (44)

Как Вы видите, мой запрос переходит в 192.168.0.1, который является моим домашним маршрутизатором. Поэтому это означает использование сервера DNS, который Интернет-провайдер присвоил Вам.

Теперь, что, если мы изменяем DNS и делаем все это снова?

$ awk '/.domain/ {gsub("my-hostname","****");print}' tcpdump-result2.txt                                                                
02:05:35.885670 IP ****.local.51056 > resolver2.opendns.com.domain: 2511+ A? google.com. (28)
02:05:36.189665 IP ****.local.5503 > 192.168.0.1.domain: 63991+ PTR? 220.220.67.208.in-addr.arpa. (45)
02:05:36.237664 IP 192.168.0.1.domain > ****.local.5503: 63991 1/0/0 PTR resolver2.opendns.com. (80)
02:05:36.241664 IP ****.local.27776 > 192.168.0.1.domain: 58334+ PTR? 69.0.168.192.in-addr.arpa. (43)

Теперь мои запросы переходят к opendns! Но который IP конкретно?

ping resolver2.opendns.com

PING resolver2.opendns.com (208.67.220.220) 56(84) bytes of data.
64 bytes from resolver2.opendns.com (208.67.220.220): icmp_seq=1 ttl=57 time=59.9 ms
64 bytes from resolver2.opendns.com (208.67.220.220): icmp_seq=2 ttl=57 time=55.9 ms
^C
--- resolver2.opendns.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 55.999/57.999/59.999/2.000 ms

Поскольку Вы видите, что это переходит в 208.67.220.220

2
ответ дан 2 December 2019 в 01:45

Другие вопросы по тегам:

Похожие вопросы: