echo
(no bash e /bin/echo
) não expande as fugas por padrão. Isso significa que seus caracteres CR e LF estão literalmente sendo enviados como \r
e \n
. Você precisa fornecer a opção -e
para ativar as fugas.
$ echo -en "GET / HTTP/1.0\r\n\r\n" | nc localhost 80
HTTP/1.1 403 Forbidden