cat arquivo que contém caracteres de escape para o netcat

0

Estou tentando testar um servidor da web com alguma solicitação HTTP escrita em um arquivo.

GET / HTTP/1.1\r\n\r\n

No momento, estou enviando esse arquivo para netcat da seguinte forma:

cat files | nc localhost 80

No entanto, os \r\n nos arquivos são transferidos diretamente para o servidor da web (resultando em 4 caracteres, ou seja, '\', 'r', '\', 'n'). Como posso alimentar esse arquivo para que os caracteres sejam escapados corretamente?

    
por Wei Shi 28.09.2011 / 00:09

1 resposta

1

\r\n são os códigos usados em uma instrução printf para gerar as terminações de linha CarridgeReturn / NewLine usadas pelo DOS / Windows.

Como você está usando cat, você está usando alguma variante do unix que usa apenas \n como fim de linha. MAS você não precisa que o caractere apareça no arquivo. Apenas tente remover esses valores (deixando uma Newline real no final da linha).

Exemplo de arquivo de teste agora =

GET / HTTP/1.1
  blah-blah

GET / HTTP/1.1
  blah2

OU se você realmente precisar interpretar os valores \r\n incorporados no arquivo, poderá interpretar o arquivo com o utilitário printf, ou seja,

$ cat printf_inputtest.txt
GET / HTTP/1.1\r\n\r\n
GET / HTTP/1.1\r\n\r\n
$ printf "$( < printf_inputtest.txt )"
GET / HTTP/1.1


GET / HTTP/1.1

$ 

Espero que isso ajude.

    
por 28.09.2011 / 00:28