Leere / Null-Apache-Anforderungseinträge im Zugriffsprotokoll

10

Dieser Eintrag wurde in einem Apache-Zugriffsprotokoll protokolliert:

IP-ADRESSE - - [00/00/0000: 00: 00: 00 -0000] 301 - - - -

Es wurde von LogWatch als Null-HTTP-Antwort erkannt und auch als erfolgreiche Sonde markiert.

Ich bin gespannt, wie diese Anfrage gestellt wurde und wie sie als erfolgreiche Sonde angesehen wird. Folgendes kann ich mit spezifischen Fragen entziffern:

  1. Ihre Anfrage war "" - was bedeutet das?
  2. Der HTTP-Rückkehrcode war 301: Auf dieser Website ist eine Weiterleitung in der Apache-Konfiguration definiert. Vielleicht haben sie die URL getroffen, die diese Weiterleitung auslöst?
  3. Sie verwendeten keine ordnungsgemäße HTTP-Anforderung
  4. Sie haben die Größenrückgabe "-" zurückbekommen - was bedeutet das?
elle
quelle

Antworten:

8

Es war eine leere Anfrage.

  1. %rist eigentlich die erste Zeile ihrer Anfrage , was bedeutet, dass sie eine leere Anfrage gesendet haben. Mit anderen Worten, keine Überschriften, kein Körper, nichts. Es war wahrscheinlich eine Socket-Verbindung zu Port 80.
  2. Der 301 war wahrscheinlich nicht auf der Website - denken Sie daran, sie haben nichts in ihrer Anfrage definiert, einschließlich der gewünschten Datei auf Ihrer Website.
  3. Genau.
  4. - bedeutet, dass keine Daten an den Client zurückgegeben wurden, nicht zu verwechseln mit einer Größe von Null.

Mit anderen Worten, dies war wahrscheinlich jemand, der eine Verbindung zu Port 80 öffnete und schloss, ohne Daten zu senden oder zu empfangen.

Andrew M.
quelle
Ich möchte versuchen, diesen Fehler zu reproduzieren - ist dieser Eintrag. Irgendwelche Vorschläge / Ideen, wie es gemacht werden kann? Vielleicht Telnet? HTTP 301 macht mich fertig - wie und wo wird das eingestellt?
Elle
1
Sie könnten dies wahrscheinlich tun, indem Sie dieselben Daten senden, die der Benutzer gesendet hat - das heißt `` (Leerzeichen, wie es aussieht). Obwohl Sie dabei einen 501Fehler erhalten sollten, nicht einen - 301obwohl Ihr Server möglicherweise anders konfiguriert ist. Sie können dies tun, indem Sie etwas tun wie : echo " " | nc http://whatever 80.
Andrew M.
Eine Einschränkung hierbei ist, dass Sie das Lesen der Antwort nicht verbieten nc(oder sogar verbieten ncat) können, sodass Sie eine Größe für den zurückgegebenen Wert erhalten. Sie können wahrscheinlich Ihr eigenes Skript schreiben, das die Verbindung nach dem Senden zwangsweise schließt, aber Sie müssen selbst einige Fußarbeit leisten.
Andrew M.