Entradas de solicitação do Apache vazias / nulas no log de acesso

10

Esta entrada foi registrada em um log de acesso do Apache:

ENDEREÇO ​​DE IP - - [00/00/0000: 00: 00: 00 -0000] "" 301 - "-" "-"

Foi detectado pelo LogWatch como uma resposta HTTP nula e também foi marcado como uma análise bem-sucedida.

Estou curioso sobre como essa solicitação foi feita e como é considerada uma análise bem-sucedida. Aqui está o que posso decifrar com perguntas específicas:

  1. O pedido deles foi "" - o que isso significa?
  2. O código de retorno HTTP era 301: este site tem um redirecionamento definido na configuração do Apache - talvez eles estivessem acessando a URL que aciona esse redirecionamento?
  3. Eles não estavam usando uma solicitação HTTP adequada
  4. Eles retornaram o tamanho "-" - o que isso significa?
elle
fonte

Respostas:

8

Foi um pedido vazio.

  1. %ré realmente a primeira linha da solicitação , o que significa que eles enviaram uma solicitação vazia. Em outras palavras, sem cabeçalhos, sem corpo, nada. Provavelmente era uma conexão de soquete à porta 80.
  2. O 301 provavelmente não estava no site - lembre-se, eles não têm nada definido em sua solicitação, incluindo o arquivo desejado no seu site.
  3. Exatamente.
  4. - significa que nenhum dado foi retornado ao cliente, não deve ser confundido com um tamanho zero.

Em outras palavras, provavelmente era alguém abrindo e fechando uma conexão contra a porta 80, sem enviar ou receber dados.

Andrew M.
fonte
Gostaria de tentar reproduzir este erro - é esta entrada. Alguma sugestão / idéia de como isso pode ser feito? Talvez telnet? HTTP 301 me joga fora - como e onde isso está sendo definido?
Elle
1
Você provavelmente poderia fazer isso enviando os mesmos dados que o usuário enviou - ou seja, `` (espaço, pela aparência). Embora ao fazer isso, você DEVE receber um 501erro, não um - 301embora seu servidor possa estar configurado de maneira diferente. Você pode fazer isso fazendo algo como: echo " " | nc http://whatever 80.
Andrew M.
Uma ressalva aqui é que você não pode proibir nc(ou até ncat) ler a resposta, portanto, você obterá um tamanho para o valor retornado. Provavelmente, você pode escrever seu próprio script que fecha a conexão à força após o envio, mas precisará fazer algum trabalho de pé.
Andrew M.