Unterschied zwischen Pingen mit und ohne http://

Ich versuche, meine Website zu pingen http://www.example.com/ und sie wird in eine unbekannte IP-Adresse aufgelöst und es kommt zu einer Zeitüberschreitung.

PING http://www.example.com/ (198.105.254.228): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2

Aber wenn ich example.com pinge, funktioniert es

Was fehlt mir hier draußen?

 47
Author: JumpingJezza, 2015-06-20

4 answers

Ich versuche, meine Website anzupingen http://www.example.com/ und es wird in eine unbekannte IP-Adresse aufgelöst und eine Zeitüberschreitung angezeigt.

PING http://www.example.com/ (198.105.254.228): 56 data bytes
Request timeout for icmp_seq 0

Das Argument für Ping ist ein Hostname (oder eine IP-Adresse).

Also wird alles funktionieren:

ping example.com
ping www.example.com
ping 127.0.0.1

Andererseits,

ping http://www.example.com/

Funktioniert nicht als http://www.example.com/ ist ein HTTP Uniform Resource Locator (URL) kein gültiger Hostname (obwohl ein Teil davon ein Hostname ist).

EINE HTTP-URL besteht aus 4 teilen:

  • Schema-immer vorhanden
  • Hostname-immer vorhanden
  • Pfad oder Stamm-immer vorhanden, aber manchmal null
  • Parameter - optional

Ping erkennt URLs normalerweise nicht als gültigen Ziel-Hostnamen.

Anmerkungen:

  • Nicht alle URLs haben das oben erwähnte Format.

  • Eine vollständige URL besteht aus einem Namensschemabezeichner gefolgt von einem string deren format ist eine Funktion des Namensschemas.

  • Das Format einer URL ist in der IETF-Spezifikation Uniform Resource Locators (URL) definiert)


DNS-Hijacking -

Eine Ausnahme kann auftreten, wenn der DNS-Server (der Hostnamen in IP-Adressen auflöst) so konfiguriert ist, dass er eine gültige IP-Adresse zurückgibt, selbst wenn ein ungültiger Hostname angegeben wird.

Dies kann passieren, wenn ein ISP Ihr DNS entführt Queries.

Aus der Antwort Warum wird Ping für einen zufälligen Hostnamen, den ich eingebe, auf eine IP 198.105.254.228 aufgelöst? von Michael Hampton:

Sie versuchen, "hilfreich" zu sein, indem sie Anfragen umleiten für nicht vorhandene Domänen zu ein White-Label-Service, der Suche bietet ergebnisse und Werbung, von denen jeder außer Ihnen einen Schnitt der Einnahmen.

Zum Glück haben sie eine preferences Seite wo Sie können angeblich schalten Sie es aus.

 107
Author: DavidPostill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:17:55

Wenn Sie den Ping-Befehl mit einer Zeichenfolge ausführen, die keine IP-Adresse ist, muss zuerst die IP-Adresse des Hosts aufgelöst werden, den Sie zu pingen versuchen.

Wenn Sie ausführen:

$ ping example.com

Der DNS-Server gibt die IP-Adresse des Servers zurück, der die Website hostet.

Wenn Sie jedoch das Protokoll und den Pfad voranstellen, um eine Standard-HTTP-URL zu erstellen, die alle an den DNS-Server gesendet werden, um aufgelöst zu werden.

Also, anstatt dass der DNS-Server den Datensatz für example.com findet sucht nach dem Datensatz http://example.com/ , der kein gültiger Hostname ist.

Viele DNS-Server kehren mit nichts zurück. In diesem Fall wird der Ping-Befehl nur mit einem DNS-Auflösungsfehler ausgegeben.

Ihr DNS-Server gibt jedoch die IP-Adresse 123.456.789.000 zurück. Die Adresse scheint ein Vorschlagsdienst von Time Warner Cable zu sein, um Benutzern zu helfen, die die URL in ihrem Browser falsch eingegeben haben.

Aber der Ping-Befehl nimmt dies wörtlich und glaubt, dass der Hostname http://example.com/ (was kein gültiger ist hostname) wird in die Adresse 123.456.789.000 aufgelöst.

Der Grund, warum der Ping-Befehl danach eine Zeitüberschreitung aufweist, liegt darin, dass 123.456.789.000 nicht auf ICMP-Anforderungen reagiert.

 33
Author: Hunter Dolan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-06-21 18:15:11

Das http: / / steht für hyper text transfer protocol, das Protokoll für den Zugriff auf Webseiten. Das Pingen eines Servers verwendet kein HTTP, sondern besteht aus einer ICMP-Nachricht (Internet Control Message Protocol), sodass http:// in diesem Zusammenhang keinen Sinn ergibt.

 21
Author: KJ4TIP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-06-20 21:54:52

Warum sollten Sie' ping ' trotzdem verwenden? Es wird nicht funktionieren, wenn eine Firewall den "Ping" - Verkehr blockiert.

Meiner Meinung nach, wenn Sie einen Webserver testen möchten, ist es besser zu verwenden 'telnet', dann können Sie den Host und den Port testen, den er abhören soll.

ZB: Um Ihren Webserver zu testen telnet www.mywebserver.com 80 geben Sie auf dem leeren Bildschirm " get "und dann" enter " ein. und Sie sollten einen Stapel HTTP-Antworten vom Webserver zurückerhalten. (z.B.: HTTP/1.1 400 Schlechte Anfrage...)

Dies sagt mir, dass der Server nicht nur " up " ist, sondern auch Port 80 abhört und antwortet. (Ich würde auch erwarten, dass Firewalls Port 80 zu meinem Webserver durchlassen)

Ähnlich funktioniert' telnet ' auch zum Testen von Mailservern, FTP und fast allem anderen.

 0
Author: MattW,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-07-01 05:30:59