Netcat

使用 netcat 對 HTTP 請求的空響應

  • September 10, 2020

使用以下命令測試一個簡單的 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

這是什麼原因?

您可能想要-q 1(或 2 或 3 或其他東西)否則nc將在遠端伺服器發出響應之前退出。

-D可能需要root.

您也可能缺少一些標題。

例如,httpbin.org/get需要Accept: 標頭,而其他網站可能需要存在其他標頭才能觸發響應。

引用自:https://unix.stackexchange.com/questions/269046