我设置了一个 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