Linux

在 Ubuntu 中,我可以執行一些東西來檢查傳入的 HTTP 請求嗎?

  • February 12, 2012

我正在執行 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 一起使用的表達式)

引用自:https://serverfault.com/questions/359279