Jeśli mam wiele hostów skonfigurowanych na jednym komputerze ( VirtualHosts a la apache), jak mogę sprawdzić adres IP i znaleźć wszystkie domeny skonfigurowane, aby do niego dotrzeć?
Na przykład mam kilka domen internetowych i e-mailowych podłączonych do mojego serwera. Jak mogę znaleźć wszystkie domeny, które na to wskazują?
Czy to w ogóle możliwe?
Mam wpisy DNS A dla wszystkich domen, które posiadam, a ponadto wiem, że niektóre domeny znajomych wskazują mój serwer. Chciałbym zobaczyć, czy ludzie, o których nie wiem, też tam wskazują. (Lub jeśli ktoś przeniósł swoją domenę w inne miejsce i mogę usunąć „starą” witrynę z mojego serwera).
źródło
Nie można tego zrobić z samym protokołem DNS, ponieważ zazwyczaj
PTR
dla każdego adresu IP jest tylko jeden rekord, chociaż może być wieleA
rekordów wskazujących na ten adres IP.Jednak niektórym firmom (np. Http://www.ip-adress.com/ ) udało się skompilować bazy danych zawierające to, czego szukasz, przechowując wyniki całego zestawu zapytań DNS, a następnie oferując własne zapytanie zwrotne bazy danych.
Te bazy danych nie mogą być jednak ostateczne, nie mogą zagwarantować wiedzy o każdej możliwej domenie, która mogłaby wskazywać na ten adres IP - mogą rejestrować tylko szczegóły DNS dla nazw domen, które faktycznie wyszukali.
źródło
Jedynym sposobem na to jest posiadanie danych o nazwie domeny, którą chcesz sprawdzić.
Dzięki tej zawartości możesz opracować skrypt rekurencyjny, aby wyszukać nazwę hosta w odniesieniu do twojego adresu IP (rekurencyjny z powodu ewentualnego sprawdzenia CNAME).
Aby uzyskać dane jakiegoś partnera nazwy domeny, możesz poprosić o bycie wtórnym i uzyskać dane za pomocą dig -t axfr.
źródło
Myślę, że podchodzisz do tego ze złego kierunku. Oprócz albo: a) odpytywania każdego istniejącego serwera DNS o każdą możliwą nazwę domeny, a następnie zapisywania wyniku lub b) uzyskiwania transferów stref z serwerów DNS, którymi jesteś zainteresowany, nie ma sposobu, aby to zrobić za pomocą DNS.
Cóż, jeśli korzystasz z vhostów opartych na nazwie Apache, masz już listę domen, które dotrą do twojego serwera. Oprócz domyślnego vhosta, vhost oparty na nazwie będzie odpowiadał tylko za swoją nazwę. Więc jeśli wskażę foobar.com na moje urządzenie i nie mam vhosta foobar.com, zostanie on obsługiwany domyślnie lub nie otrzyma odpowiedzi (jeśli nie masz domyślnego serwera).
Apache ma kilka bardzo zaawansowanych funkcji rejestrowania. Nie powinno być problemu ze zdefiniowaniem niestandardowego formatu dziennika z żądanymi liniami żądań. Ponadto zawsze znajduje się pole strony odsyłającej.
Z drugiej strony poczta jest bardziej uciążliwa. Najlepszą rzeczą, jaką mogę wymyślić, jest wybranie, co możesz, z dzienników serwera i, jeśli naprawdę musisz wiedzieć , skonfigurować przechwytywanie pakietów dla SMTP.
źródło
LogFormat %{Host}i hostnamelog
, a następnieCustomLog /path/to/log hostnamelog
w domyślnym VHost, upewniając się, że jest on oddzielony od któregokolwiek z „prawdziwych” VHostów. Od czasusort /path/to/log | uniq -c | sort -n
do czasu, aby uzyskać wgląd w to, co cię uderza.Powinieneś sprawdzić, czy RobTex nie jest najlepszym projektem internetowym, ale bardzo przydatnym! Możesz znaleźć wszystkie DNS związane z adresem IP.
Oczywiście, jak wyjaśniono Alnitak,
Oznacza to, że ta strona internetowa to tylko ogromna baza danych większości serwerów DNS / IP. To całkiem wydajne, ale nie w 100% wyczerpujące.
źródło