Curl

使用 tcpdump 擷取 http 令牌

  • January 3, 2019

我的伺服器使用令牌對某些 API 執行 curl 命令。例如:

curl --header "Private-Token: aaaaaaaaaaaaaa" http://mysite.example.com/api/v4/any

我可以tcpdump使用這個特定的令牌擷取對該 API 的所有請求嗎?如果是這樣,如何?其他想法也會很棒。

要使用 監聽 HTTP 流量tcpdump並查看實際數據包內容,您可以使用:

sudo tcpdump -X -s 1500 "port 80 and host mysite.example.com"

然而,數據過濾只能在特定的數據包位置完成,tcpdump在這種情況下是不可行的。

因此,此外,您還可以使用在網路介面上ngrep偵聽具有特定字元串數據的行。

sudo ngrep -q "Private-Token: aaaaaaaaaaaaaa" "port 80 and host mysite.example.com"

至於實際的主機/埠過濾器,請參閱有關tcpdump/BPF 過濾器的(簡短)摘要:TCPDUMP 表達式

此外,wireshark@StephenHarris 的建議非常好,因為它具有圖形界面。要tcpdump在文件中寫入原始數據以供以後使用wireshark,請執行以下操作:

sudo tcpdump -X -s 1500 "port 80 and host mysite.example.com" -w mycapture.pcap

您還可以在應用程序級別擷取數據包請求,使用sysdig. (未經測試不太確定答案)

sudo sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains "Private-Token: aaaaaaaaaaaaaa"

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