Linux
在 Ubuntu 中,我可以執行一些東西來檢查傳入的 HTTP 請求嗎?
我正在執行 Node.js。但是由於某種原因,請求沒有被伺服器擷取。(https://stackoverflow.com/questions/9247482/node-js-server-not-receiving-ajax-requests)
有什麼方法可以檢查是否有 HTTP 請求進來?理想情況下,我想執行一些“偵聽”HTTP請求的東西,然後在它們進入時列印它們,以及該http請求的URl(如果可能的話)
標準工具就是安裝和執行tcpdump。
像這樣的擷取過濾器。
tcpdump -qn -s 0 -A port 80
將擷取並列印發往該系統上埠 80 的每個數據包。參見手冊頁,tcpdump 非常靈活。
我喜歡 Zoredache 對 tcpdump 的回答,因為它確實是一個標準工具,您也可以嘗試一下
ngrep
。首先你安裝它:
apt-get install ngrep
然後,您可以使用它來過濾網路流以查找某些關鍵字,例如
GET
.ngrep -W byline 'GET' 'port 80'
-W byline
是為了讓它看起來更漂亮GET
是我們要查找的關鍵字port 80
可以替換為 bpf 表達式(例如與 tcpdump 一起使用的表達式)