如何记录来自 PHP + cURL 的传出 http 请求?

如何记录来自 PHP + cURL 的传出 http 请求?

我设置了一个 PHP 脚本,每当在网站上执行操作时,它都会发出 cURL 请求。问题是,每当运行操作时,信息都会被发布两次。

我需要弄清楚这是否是我的问题(cURL 运行了两次)或者它所发布的 URL 执行了两次某件事。

我认为做到这一点的最佳方式是查看服务器发出的 http POST 请求。

这是最好的选择吗?如果是,我该怎么做?

答案1

您可以使用tcpdump嗅探服务器上的一些数据包,如下所示:

# tcpdump -vv -s0 tcp port 80 -w /tmp/apache_outgoing.pcap

并运行 PHP 脚本来查看会发生什么。


有没有办法将其限制为 a)仅限 POST 数据,

您可以http.request.method == POST在 Wireshark 中嗅探所有内容并进行过滤。

b) 仅来自 1.1.1.1

# tcpdump -vv -s0 tcp port 80 and src host 1.1.1.1

并且 c)只去 2.2.2.2?

# tcpdump -vv -s0 tcp port 80 and dst host 2.2.2.2

阅读tcpdump的手册页更多细节。

答案2

最好这样过滤

tcpdump src host YOUR-OUTGOING-INterface-IP and dst port 80 or dst port 443

相关内容