Jak znaleźć witryny hostowane za adresem IP za pomocą wiersza polecenia

0

Jak znaleźć hostowane witryny za adresem IP, korzystając wyłącznie z wiersza poleceń systemu Linux / Unix? W erze hostingu współdzielonego wydaje się dość często, że wiele witryn jest hostowanych pod tym samym adresem IP. I szukam rozwiązania w 100% z linii poleceń.

Moje jedyne działające rozwiązanie wymaga korzystania z przeglądarki i wiersza polecenia.

  1. dig +short hostname
  2. Następnie skopiuj adres IP wyniku do przeglądarki i uruchom zapytanie Yahoo lub Bing ip:theip...

Spowoduje to zwrócenie wszystkich witryn hostowanych pod tym adresem IP. Chciałbym jednak polegać wyłącznie na linii poleceń. Czy ktoś ma jakieś sugestie?

Juliusz
źródło
dig -x ipaddress?
DavidPostill
1
Rozumiesz, że nazwy DNS wcale nie muszą być powiązane ze stronami internetowymi, prawda? możesz zrzucić nazwy DNS powiązane z adresem IP, ale mogą one, ale nie muszą, tłumaczyć na witryny i będą wyświetlać tylko witryny zarejestrowane w publicznym DNS. Nie ma uniwersalnych środków na robienie dokładnie tego, o co prosisz. Narzędzia takie jak NMAP zbliżyłyby cię do siebie, ale nawet wtedy większość serwerów wdraża technologię opartą na łączeniu nazw hostów, która pozwala im hostować wiele witryn / certyfikatów na jednym porcie IP:.
Frank Thomas
@DavidPostill Niestety nie daje to właściwej odpowiedzi. Po prostu wykonuje proste wyszukiwanie wsteczne.
Julius
@FrankThomas Rozumiem, że nie wszystkie nazwy DNS muszą koniecznie być powiązane ze stronami internetowymi. Chyba interesują mnie witryny zarejestrowane w publicznym DNS. Z tego, co rozumiem, najłatwiejszym sposobem może być napisanie skryptu w wyszukiwarce w curl, a następnie parsowanie go w celu wyodrębnienia linków. Zgodziłbyś się?
Julius
To brzmi jak praca dla robota sieciowego.
music2myear

Odpowiedzi:

1

Nie można tego zrobić z żadną dokładnością bez polegania na systemie strony trzeciej, który ma zasoby do utworzenia tej bazy danych.

Nie ma sposobu, aby zmusić / poprosić serwer WWW o ujawnienie domen, które hostuje bez specjalnego dostępu do niego. Google, Bing itp. Są w pozycji, w której widzą wiele witryn i mogą budować te bazy danych.

O ile nie znajdziesz systemu z jakimś interfejsem API i nie masz dostępu do zakupu, nie możesz uzyskać informacji, których szukasz - tj. Nie jest on dostępny z serwera i nie ma jednego organu, którego można by zapytać przez dns.

Davidgo
źródło
Zgadzam się, ale również częściowo się nie zgadzam. Tak, moja metoda działa, ponieważ polegam na zewnętrznej bazie danych, którą mogę wyszukiwać na podstawie adresów IP (co jest zaletą i powodem, dla którego nie działa w Google). Jednak wyobrażam sobie, że istnieje sposób bez polegania na zewnętrznej bazie danych: możesz brutalnie przesyłać zapytania do serwera za pomocą różnych żądań HTTP GET (za każdym razem zmieniając domenę) i zwracając uwagę na odpowiedź. Czy nie byłoby takiej możliwości? Istnieje ryzyko, że może to być traktowane jako atak DoS.
Julius
1
Nie można praktycznie zapytać brutalnie o żądania HTTP get - o ile istnieje ponad 300 milionów domen rozproszonych w wielu rejestrach (z wyłączeniem subdomen), bez jednej centralnej listy wszystkich nazw domen, z których większość nie ma lista wszystkich nazw domen. (Zwracam uwagę, że wysyłanie zapytań do serwera o żądania HTTP byłoby niemądre, ponieważ większość odpowiedzi znajduje się na serwerach DNS, które są bardziej skalowalne i łatwiejsze do wyszukiwania, ale nadal nie są możliwe)
davidgo
Hmm Myślę, że muszę głębiej zagłębić się w działanie DNS. Ale strony takie jak robtex.com/ip wydają się być w stanie zwrócić ci kilka różnych nazw hostów w zależności od zapytanego adresu IP. Jak to działa w ich przypadku? Przeczytałem ich opis, ale nie do końca zrozumiałem, w jaki sposób są w stanie to zrobić.
Julius
Podany link robtex.comp mówi o REVERSE DNS - pobiera adres IP i kojarzy go z (pojedynczą) nazwą domeny - nie wszystkimi nazwami domeny dla witryny. FWIW, podczas gdy robtex zbiera pewne informacje, informacje o witrynach na moich serwerach internetowych nie są ani aktualne, ani nigdzie prawie kompletne.
Davididgo,
1

Powodzenia. Proszę, spróbuj mojego.

Adres URL to http://calttc.net Ten sam system plików wskazuje http://calttc.com

Na stronie /login.htm znajduje się test logowania, który po prostu łączy się z plikiem PHP, który echo tego, co wpiszesz.

Więc spróbuj to odwrócić:

Najpierw użyj polecenia ping lub nmap z wiersza polecenia, aby uzyskać adres IP.

Teraz użyj nmap (lub innego narzędzia) z adresem IP i sprawdź, czy możesz znaleźć sposób, aby uzyskać mój adres URL tylko adres IP.

W rzeczywistości wątpię, abyś mógł dowiedzieć się nawet o moim dostawcy usług, a nawet o moim serwerze nazw.

I nawet nie staram się tego szczególnie ukrywać.

SDsolar
źródło
@Frank dał ci najlepsze informacje - to byłaby dobra odpowiedź. Wypróbuj więc jego podpowiedź i moją stronę testową. (
Nawiasem mówiąc,
1
Wiem o co ci chodzi. Byłem w stanie pracować wstecz przy użyciu metody, którą opisałem wcześniej (wygląda na to, że hostujesz na Bluehost). Ale tak, o to chodzi.
Julius
Zdobądź jeden za znalezienie Bluehost. Czy to tylko jeden, czy oba adresy URL, czy adres IP, który pozwolił ci znaleźć te informacje? Z jakiego narzędzia korzystałeś? I znalazłeś serwery nazw?
SDsolar
Nie pamiętam dokładnie, ale myślę, że po prostu użyłem polecenia hosta. Jeśli użyję adresu IP twojego serwera i podłączę go do tej strony, rozdaje on mnóstwo informacji: robtex.com/ip-lookup/50.87.249.67 ns1 i ns2.bluehost.com to twoje serwery nazw. Można nawet zobaczyć wszystkie inne domeny powiązane z adresem IP. I nie, właśnie użyłem domeny .net.
Julius
To, co złapałeś, to domyślne serwery nazw dla większości domen na tym serwerze. Używam zewnętrznych serwerów nazw. Nadal dobry pokaz demaskujący usługę hostingową.
SDsolar