Jak zalogować wszystkie moje zapytania DNS?

18

Jak mogę utworzyć dzienniki każdego zapytania DNS, które generuje mój komputer, wraz z otrzymanymi odpowiedziami?


źródło

Odpowiedzi:

14

Możesz tcpdumpzarejestrować wszystkie aktywności UDP i TCP portu 53.

Aaron D. Marasco
źródło
6
Jakieś szczegóły, w jaki sposób?
e-sushi
To najlepsza odpowiedź, ponieważ nie możemy być pewni, że OP (lub inni czytelnicy) mają dostęp do serwera DNS - tylko do ich komputera lokalnego. Aby odpowiedzieć na pytanie @ e-Sushi jest wziąć tcpdump pomocą narzędzia (zobacz stronę podręcznika lub dobrego podkładu z przykładami ). Najlepiej jest zrzucić plik, a następnie pobrać te dane do wireshark w celu przejrzenia i analizy.
James Shewey,
1
github.com/gamelinux/passivedns wydaje się właśnie to robić, patrz./doc/How-it-works.txt
mxmlnkn
5
tcpdump udp port 53
Brannon
1
Domyślnie może nie wybrać interfejsu sieci wychodzącej, więc potrzebujesz trochę więcej: tcpdump --list-interfaces, tcpdump udp port 53 --interface (pickone). -vv
Weź
9

Najłatwiej jest zainstalować Bind lokalnie. Większość domyślnych instalacji Binda dla dystrybucji dystrybucyjnej nie będzie autorytatywnym buforowaniem.

Po prostu dodaj logging {}blok konfiguracji (zgodnie z opisem w Bind 9 Configuration Reference ), a następnie ustaw system na używanie 127.0.0.1lub ::1jako program rozpoznawania nazw DNS.

bahamat
źródło
2
Biorąc pod uwagę, jak duże jest powiązanie i jego słabe zabezpieczenia, myślę, że wiele osób wahałoby się zainstalować coś takiego tylko w celu logowania.
jw013,
nie wiąże się problem, że serwery nazw w /etc/resolv.conf nie są używane, ale serwery nazw muszą być wyraźnie wymienione w konfiguracji wiązania?
Bananguin,
Nie. /etc/resolv.confTo lista resolverów systemu. Domyślna konfiguracja Bind polega na wyszukiwaniu autorytatywnych serwerów nazw i pytaniu ich. Państwo mogłoby przekazywać wszystkie żądania do serwera określonego (lub zestawu, takie jak firmy ISP, OpenDNS lub Google Public DNS), ale nie jest to wymagane w config. Robię to cały czas. Nie mogę nawet policzyć, ile razy skonfigurowałem buforowanie tylko serwerów nazw.
bahamat
6

dnsmasq jest znacznie łatwiejszy do skonfigurowania jako demon agregujący / buforujący DNS niż BIND, i w tym celu wydajność może być po prostu lepsza. Jeśli włączysz rejestrowanie do „debugowania”, wszystkie pytania i odpowiedzi pojawią się we wszystkim, syslogco skonfigurowano dla komunikatów debugowania.

Dnsmasq ułatwia także pozbycie się obraźliwych reklamodawców i brudu prywatności inwazji „analitycznych” skrada się poprzez aliasing całych domen do 127.0.0.1

Bruce Ediger
źródło
1

Jeśli dobrze pamiętam, Snort może selektywnie monitorować ruch w oparciu o reguły zdefiniowane przez użytkownika. Jednak Snort nie utworzy dzienników żądań DNS, gdy komputer, tj. Program rozpoznawania nazw, może odpowiedzieć na pytanie z pamięci podręcznej.

Bananguin
źródło
1

Aby wyświetlić i zapisać do pliku wszystkie Ażądania DNS, uruchom to:

script -q -c "sudo tcpdump -l port 53 2>/dev/null | grep --line-buffered ' A? ' | cut -d' ' -f8" | tee dns.log

Przykładowe dane wyjściowe:

google.com.
wikipedia.org.

Vanni
źródło