使用 tcpdump 捕获 http 令牌

使用 tcpdump 捕获 http 令牌

我的服务器使用令牌对某些 API 运行curl 命令。例如:

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

tcpdump我可以使用特定令牌捕获对该 API 的所有请求吗?如果是这样,怎么办?其他想法也很棒。

答案1

要使用 监听 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"

相关内容