Entrées de demande Apache vides / nulles dans le journal d'accès

10

Cette entrée a été enregistrée dans un journal d'accès Apache:

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

Il a été détecté par LogWatch comme une réponse HTTP nulle et a également été marqué comme une sonde réussie.

Je suis curieux de savoir comment cette demande est faite et comment elle est considérée comme une enquête réussie. Voici ce que je peux déchiffrer avec des questions spécifiques:

  1. Leur demande était "" - qu'est-ce que cela signifie?
  2. Le code de retour HTTP était 301: ce site Web a une redirection définie dans la configuration Apache - peut-être qu'ils ont frappé l'URL qui déclenche cette redirection?
  3. Ils n'utilisaient pas une requête HTTP appropriée
  4. Ils ont récupéré la taille "-" - qu'est-ce que cela signifie?
elle
la source

Réponses:

8

C'était une demande vide.

  1. %rest en fait la première ligne de leur demande , ce qui signifie qu'ils ont envoyé une demande vide. En d'autres termes, pas d'en-têtes, pas de corps, rien. C'était probablement une connexion socket au port 80.
  2. Le 301 n'était probablement pas sur le site Web - rappelez-vous, ils n'ont rien défini dans leur demande, y compris le fichier souhaité sur votre site Web.
  3. Exactement.
  4. - signifie qu'aucune donnée n'a été retournée au client, à ne pas confondre avec une taille nulle.

En d'autres termes, il s'agissait probablement de quelqu'un qui ouvrait et fermait une connexion contre le port 80, sans envoyer ni recevoir de données.

Andrew M.
la source
Je voudrais essayer de reproduire cette erreur - est cette entrée. Avez-vous des suggestions / idées sur la façon de procéder? Peut-être telnet? HTTP 301 me déstabilise - comment et où cela se passe-t-il ??
elle
1
Vous pourriez probablement le faire en envoyant les mêmes données que l'utilisateur a envoyées - c'est-à-dire `` (l'espace, à en juger par son apparence). Bien qu'en faisant cela, vous DEVRIEZ recevoir une 501erreur, pas un - 301bien que votre serveur puisse être configuré différemment. Vous pouvez le faire en faisant quelque chose comme: echo " " | nc http://whatever 80.
Andrew M.
Une mise en garde ici est que vous ne pouvez pas interdire nc(ou même ncat) de lire la réponse, vous obtiendrez donc une taille pour la valeur retournée. Vous pouvez probablement écrire votre propre script qui ferme la connexion de force après l'envoi, mais vous devrez faire vous-même quelques pas.
Andrew M.