2014-09-22 24 views
6

Ich frage mich, wie w3techs weiß, wenn ein bestimmter Server Node.js verwendet. http://w3techs.com/technologies/details/ws-nodejs/all/allWoher weiß man, ob auf einem Server Node.js läuft?

Ich vermute, dass sie einige bestimmte HTTP-Header betrachten.

Zum Beispiel: X-Powered-By:Express

Aber nicht jeder Knotenmodul solcher Header erzeugen.

Kennen Sie andere Wege oder ähnliche Fingerabdrücke, die von gängigen Knotenmodulen erzeugt werden?

+6

Es gibt viele Eigenschaften für die Abnahme von Fingerabdruck Server sind, von den Daten, die sie mit nach unten antworten zu der Art und Weise, wie Pakete zum Senden zusammengestellt werden. Aber Sie haben recht damit, dass es keinen narrensicheren Weg gibt, besonders auf einem Node.js-Server, der nicht einmal HTTP ausführen muss und sehr flexibel ist. – Brad

+2

Also gibt es keine Lösung? – Unitech

+2

Nicht wirklich. Sie könnten auch etwas wie Nginx vor sich haben und es wäre noch schwieriger zu sagen, wo das Backend geschrieben ist. –

Antwort

6

Wie bereits von Kommentaren von @brad, @ jessie-a-morris, @tknew, darauf hingewiesen, gibt es keine einfach zu verwendende Methode, die Sie problemlos in Ihrem eigenen Analysator wiederverwenden könnten.

von w3techs den eigenen Informationen Zitiert: ‚Wie genau funktioniert Ihre Website-Analysator Arbeit‘

http://w3techs.com/faq insbesondere das Kapitel erklärt

... Wir suchen nach bestimmten Mustern auf den Webseiten, die die Verwendung von Technologien identifizieren, ähnlich wie ein Virenscanner nach Mustern in einer Datei sucht, um Viren zu identifizieren. Wir verwenden für diese Suche eine Kombination aus regulären Ausdrücken und DOM-Traversal. Wir haben mehrere tausend Indikatoren für den Technologieeinsatz identifiziert. Diese Indikatoren haben unterschiedliche Prioritäten, und aufgrund des Vorhandenseins oder Fehlens spezifischer Kombinationen von Indikatoren in einem spezifischen Kontext kommen wir zu unseren Schlussfolgerungen.

Dies sind Beispiele für den von den Indikatoren:

  • HTML-Elemente von Webseiten
  • Spezielle HTML-Tags, zum Beispiel der Generator Meta-Tag
  • JavaScript-Code
  • CSS-Code
  • Die URL-Struktur einer Site
  • Offsite-Links
  • HTTP-Header, zum Beispiel Cookies
  • HTTP-Antworten auf spezifische Anfragen, zum Beispiel Kompression

Viel Forschung war notwendig, den Analysator zu bauen, und wir halten es die ganze Zeit zu verbessern. Wir wollen, dass es die beste Website-Analysator ...

und http://w3techs.com/disclaimer weist darauf hin, dass sein

... Um alle Informationen von Websites zu erhalten, setzen wir auf den Webseiten selbst, ihre Eigentümer oder ihre Webmaster, um solche Informationen zur Verfügung zu stellen. Einige Websites sind offen für das Teilen dieser Art von Informationen als andere. Einige Technologien bieten möglicherweise mehr Möglichkeiten, um Informationen über ihre Nutzung preiszugeben als andere ...

und „wir können nicht“, „in einigen Fällen“, „einige Technologien“, „ungenaue Ergebnisse“ folgen

+2

während dies die Frage beantwortet, stelle ich mir vor OP war eine gründliche Analyse der Methoden, aber gute Arbeit! –

+2

@SleepDeprivedBulbasaur Ich stimme völlig zu, dass meine Antwort nichts "erklärt". Zuerst wollte ich nur unter der Frage des ursprünglichen OP kommentieren: "Was hast du schon versucht? Hast du bei w3techs gefragt, wie sie es machen?" aber es würde unter dem Button "show x more comment" versteckt werden. Die wenigen tausend priorisierten probabilistischen Indikatoren von w3techs zu veröffentlichen, wäre die einzige akzeptable Antwort auf diese seltsame (im Sinne von dieser nützlichen) Frage – xmojmr