Omri Asked: 2019-01-03 09:08:22 +0800 CST2019-01-03 09:08:22 +0800 CST 2019-01-03 09:08:22 +0800 CST 使用 tcpdump 捕获 http 令牌 772 我的服务器使用令牌对某些 API 运行 curl 命令。例如: curl --header "Private-Token: aaaaaaaaaaaaaa" http://mysite.example.com/api/v4/any 我可以tcpdump使用这个特定的令牌捕获对该 API 的所有请求吗?如果是这样,如何?其他想法也会很棒。 http curl 1 个回答 Voted Best Answer Rui F Ribeiro 2019-01-03T09:49:54+08:002019-01-03T09:49:54+08:00 要使用 监听 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"
要使用 监听 HTTP 流量
tcpdump
并查看实际数据包内容,您可以使用:然而,数据过滤只能在特定的数据包位置完成,
tcpdump
在这种情况下是不可行的。因此,此外,您还可以使用在网络接口上
ngrep
侦听具有特定字符串数据的行。至于实际的主机/端口过滤器,请参阅有关
tcpdump
/BPF 过滤器的(简短)摘要:TCPDUMP 表达式此外,
wireshark
@StephenHarris 的建议非常好,因为它具有图形界面。要tcpdump
在文件中写入原始数据以供以后使用wireshark
,请执行以下操作:您还可以在应用程序级别捕获数据包请求,使用
sysdig
. (未经测试不太确定答案)