netcat을 사용하여 HTTP 요청에 대한 빈 응답

netcat을 사용하여 HTTP 요청에 대한 빈 응답

간단한 HTTP 요청을 테스트하려면 다음 명령을 사용하십시오 nc.

$ printf 'GET / HTTP/1.1\r\nHost: mozilla.org\r\nAccept: */*\r\n\r\n' | nc mozilla.org 80
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
Date: Thu, 10 Mar 2016 23:07:31 GMT
Location: https://www.mozilla.org/
Connection: Keep-Alive
Content-Length: 0

그러나 대부분의 호스트는 출력을 생성하지 않습니다. 이 -v옵션을 사용한 결과는 긍정적입니다.

Connection to stackoverflow.com.com 80 port [tcp/http] succeeded!
Connection to reddit.com 80 port [tcp/http] succeeded!

옵션을 사용하여 -D한 줄을 제공하십시오.

nc: Permission denied

그 이유는 무엇입니까?

답변1

필요할 수도 있습니다 -q 1(또는 2개나 3개 등). 그렇지 않으면 nc원격 서버가 응답하기 전에 종료됩니다.

-D필요로 할 수도있다 root.

답변2

일부 헤더가 손실될 수도 있습니다.

예를 들어 헤더가 httpbin.org/get필수인 Accept:반면, 다른 웹사이트에서는 응답을 트리거하기 위해 추가 헤더가 필요할 수 있습니다.

관련 정보