W jaki sposób określasz, na jakiej technologii jest zbudowana witryna? [Zamknięte]

157

Dość często trafiam na ładnie wyglądającą lub funkcjonalną stronę internetową i zastanawiam się, jaka technologia została użyta do jej stworzenia. Jakie techniki są dostępne, aby dowiedzieć się, z czego zbudowano daną witrynę?

Niewiele frameworków wydaje się zawierać jakikolwiek rodzaj metatagu generatora, tak jak robią to edytory internetowe. Czy są jakieś charakterystyczne oznaki konkretnych języków i / lub struktur?


Podsumowanie odpowiedzi

Adresy URL witryn mogą zdradzać strukturę i / lub język programowania, ale nie można na nich polegać (np. Rozszerzenia plików, takie jak .asp). Wskazówki mogą również zawierać nagłówki odpowiedzi HTTP, pliki cookie, arkusze stylów i komentarze źródłowe.

Kilka fajnych narzędzi do sprawdzania szczegółów witryny (bez wątpienia jest ich o wiele więcej):

Dodatki do Firefoksa:

Rozszerzenia Chrome:

Bookmarklety:

Mata
źródło
1
Lubię używać Wappalyzer , dodatku do Firefoksa, aby na pierwszy rzut oka sprawdzić technologie strony.
Naoise Golden
guess.scritch.org to także przyzwoite narzędzie do sprawdzania szczegółów witryn.
Ehtesh Choudhury
Chciałbym wiedzieć, czy jest to sposób na ukrycie języka serwera
shababhsiddique
1
@shababhsiddique Podstawowy język serwera jest domyślnie „ukryty”. Nie będzie żadnej standardowej techniki ukrywania tego, na czym zbudowana jest Twoja witryna - po prostu nie pozwól, aby Twój Backend wyprowadzał jakiekolwiek ostrzegawcze znaczniki na przód
Zach Lysobey
@ZachL nadal w przeszłości znalazłem kilka witryn, na których nie mogłem stwierdzić, że zostały zbudowane. weźmy na przykład apple.com. builtwith.com/?https%3a%2f%2fwww.apple.com%2f , jak się dowiesz? jeśli nie możesz się dowiedzieć, w jaki sposób jabłko to ukryło?
shababhsiddique

Odpowiedzi:

20

Jest wiele rzeczy, na które możesz zwrócić uwagę, ale tak naprawdę nie daje to żadnej pewności co do technologii stojącej za witryną. Ogólnie rzecz biorąc, ludzie będą chcieli ukryć takie informacje, ponieważ im więcej informacji zostanie ujawnionych, tym łatwiejsze może być zidentyfikowanie luk w zabezpieczeniach lub dziur typu „odmowa usługi” dla złośliwych stron.

Gdybym był zainteresowany, prawdopodobnie spojrzałbym w przypadkowej kolejności na:

  • adresy URL i rozszerzenia plików.
  • Nagłówki odpowiedzi HTTP
  • Kod źródłowy komentarzy lub standardowe biblioteki JS

Nawiasem mówiąc, narzędzia wymienione w innych odpowiedziach patrzą tylko na niektóre z powyższych właściwości witryny, aczkolwiek automatycznie i nieco szybciej. :)

Andy Hume
źródło
1
Było wiele dobrych odpowiedzi, więc nieco zwlekałem z wyborem zaakceptowanej, ale ta pasowała najlepiej. Obejmuje podstawowe punkty wyjścia, które można wykorzystać, być może przed zagłębianiem się w zautomatyzowane narzędzia.
Mat
67

Możesz użyć http://builtwith.com, aby dowiedzieć się, który serwer i język programowania został użyty. Na przykład powiedział mi, że SO używa IIS7, Google Analytics, html4 i utf8.

Jeśli chcesz poznać framework ... cóż, prawdopodobnie nie będzie to możliwe po prostu patrząc na stronę. Dlaczego nie napiszesz im e-maila? ;)

Kim Stebel
źródło
2
Napisz do nich e-mail, cóż, to dla ciebie myślenie lateralne. Słuszna uwaga! Lubię builtwith.com, potrzebuję tylko sposobu, aby dodać tę odpowiedź do zakładek. Twoje zdrowie.
Mat
Zbudowany z nie można powiedzieć, że SO jest w IIS7, skąd masz te informacje?
shababhsiddique
@shababhsiddique: W 2008 roku mogło.
Kim Stebel
Jak mogę również ukryć informacje z moich witryn? Nie widziałem jeszcze żadnego zasobu?
shababhsiddique
@shababhsiddique: to osobne pytanie, powinieneś je poprawnie zadać, jeśli jeszcze nie istnieje
Kim Stebel
8

Używam 1 wtyczki do przeglądarki Firefox, która podaje mi adres IP i kraj dla hostowanej witryny internetowej oraz nazwę serwera WWW o nazwie Szczegóły domeny , a dla środowiska javascript używam WTFramework

Wciąż muszę się zastanawiać, na jakim skrypcie został napisany, ale to dopiero początek :)

Mam nadzieję, że to pomoże.

PS wynik będzie wyglądał mniej więcej tak:

tekst alternatywny http://img88.imageshack.us/img88/2505/200812282328ha0.png

balexandre
źródło
cieszę się, że Ci się podobało :) możesz również kliknąć "poprawną ikonę", która znajduje się poniżej numeru reputacji dla tego pytania, aby móc oznaczyć je jako zaakceptowaną odpowiedź, jeśli chcesz;)
balexandre
Czy znasz rozszerzenie szczegółów domeny dla Chrome?
Andrew Hubbs,
@Andrew przynajmniej próbował się tego dowiedzieć? to pierwszy wynik wyszukiwania w Google!
balexandre
6

Adresy URL mogą dostarczyć wielu wskazówek, zwłaszcza w przypadku systemów zarządzania treścią.

Na przykład „ http://abcxyz.com/ node / 46 ” wygląda bardzo podobnie do Drupala.

Również wiele frameworków ma standardowe pliki JavaScript i CSS, których używają.

Mel
źródło
Miły! Lubię standardowy javascript, a szczególnie standardowe pliki CSS jako odcisk palca.
Mat
Błędny. SO używa .NET i ma składnię podobną do twojego przykładu. Strona internetowa, którą stworzyłem, używa tej samej składni i działa na Django.
Yuval Adam
Ten sam wzór adresu URL jest używany przez Railsy ... Dla aplikacji Railsowych. Możesz zobaczyć ten sam format. Na przykład: mysite.com/post/12
Rubyist
4

Niektórzy ludzie mogą nawet celowo zasłaniać używaną technologię. W końcu nie zajęłoby mi dużo czasu modyfikowanie apache tak, aby „.asp” faktycznie uruchamiał skrypty Perla i wstawiał „powered by Microsoft IIS” w mojej stopce, pomimo faktu, że używałem MySQL.

W ten sposób spędzasz cały swój czas na próbach włamania się do mojej witryny przy użyciu luk, których w rzeczywistości nie ma.

AmbroseChapel
źródło
4

Wypróbuj Chrome Sniffer , świetne, lekkie rozwiązanie.

Jeremy Mack
źródło
Ładne rozszerzenie do Chrome, od 2014 roku, daje bardzo kompletne informacje o stosie technicznym. Działa to świetnie z rozszerzeniem BuiltWith (ostatnie daje więcej informacji związanych z siecią)
user9869932
3

Analiza plików cookie udostępnianych przez witrynę może ujawnić podstawowe ramy. Na przykład CodeIgniter domyślnie przyjmuje typowy plik cookie ci_sessions. Witryny używające PEAR Auth zrobią coś podobnego.

rooskie
źródło
3

Korzystam z WebParser ( http://www.cybermake.com ), który pozwala określić system CMS używany przez serwis. Pozwala na określenie CMS dla wielu serwisów, jak również może wyciągnąć listę stron z wyszukiwarek dla zadanej listy słów kluczowych. Potężne narzędzie.

Andrey
źródło
3

http://guess.scritch.org/ robi to dla systemów CMS.

Wystarczy wpisać adres URL i spróbuje odgadnąć CMS. W tym przypadku mówi mi, że na moim blogu działa Wordpress 3.4.2 (co jest poprawne, właśnie sprawdziłem!)

wprowadź opis obrazu tutaj

matowe oparzenia
źródło
To nie jest dobre. Czyta tylko metatagi strony ... :(
Silvio Delgado,
2

Większość witryn ASP.NET można łatwo zidentyfikować na podstawie pliku .aspx w adresach URL. W kodzie źródłowym HTML znajdują się również charakterystyczne oznaki, takie jak ukryte pole formularza o nazwie __VIEWSTATElub JavaScript WebResource.axd. Elementy HTML często mają atrybuty id zaczynające się od czegoś takiego jak _ctl0.

Witryny Railsowe zazwyczaj zawierają arkusze stylów z / stylesheets i pliki JavaScript z / javascripts, a każdy adres URL zwykle zawiera ciąg zapytania zawierający sygnaturę czasową, aby uniemożliwić buforowanie. Pola formularzy często są zgodne z konwencją nazewnictwa model_name[attribute_name].

Milo
źródło
2

http://www.similartech.com to nowe narzędzie, które stworzyliśmy, które właśnie to robi i bardzo ładnie je prezentuje.

Eyal
źródło
1

Możesz użyć domaintools.com do wyszukania informacji o serwerze dla strony internetowej i zawężenia do tego, czy jest to open source / Microsoft:

http://whois.domaintools.com/stackoverflow.com

A potem wystarczy poszukać w stopce wskazówek, takich jak „Obsługiwane przez WordPress” lub „vBulletin” itp.


źródło
Kolejne fajne narzędzie, które muszę znaleźć sposób na tworzenie zakładek w SO. Będę musiał dodać te linki do pytania.
Mat
1

tak, istnieją pewne charakterystyczne oznaki dla popularnych systemów CMS, takich jak Drupal, Joomla, Pligg, RoR itp. .. Rzeczy związane z ASP.NET też są łatwe do zauważenia, ale gdy struktura staje się bardziej niejasna, trudniej jest ją wywnioskować

Zwykle porównuję witrynę, którą węszę, z inną witryną, o której wiem, że została zbudowana przy użyciu określonej technologii. To czasami działa.

Scott Evernden
źródło
1

Przejdź do Netcraft i użyj opcji „Co to jest ta witryna?” pole wyszukiwania w lewym górnym rogu. Kliknij tutaj, aby wyświetlić raport na temat przepełnienia stosu . Niekoniecznie będzie to poprawne (np. Może przeszkadzać w buforowaniu lub równoważeniu obciążenia), ale często daje wskazówkę, której potrzebujesz.

RedFilter
źródło
1

Jest też W3Techs , który pokazuje wiele z tych informacji.

Sam
źródło
1

W systemie Linux / OSX często używam prostego polecenia curl -sI www.site.com

basilboli
źródło