Netcat
使用 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
這是什麼原因?
您可能想要
-q 1
(或 2 或 3 或其他東西)否則nc
將在遠端伺服器發出響應之前退出。
-D
可能需要root
.
您也可能缺少一些標題。
例如,
httpbin.org/get
需要Accept:
標頭,而其他網站可能需要存在其他標頭才能觸發響應。