我有一个PHP脚本设置,只要在网站上执行操作就发出cURL请求。 问题在于,无论何时执行操作,信息都会被POST两次。
我需要计算一下,如果这是我的一个问题(cURL正在运行两次)或者它正在发送的URL正在做两次。
我想最好的办法是从服务器查看传出的http POST请求。
这是最好的select吗? 如果是这样,我该怎么办呢?
您可以使用tcpdump来嗅探服务器上的一些数据包,如下所示:
# tcpdump -vv -s0 tcp port 80 -w /tmp/apache_outgoing.pcap
并运行你的PHP脚本来看看会发生什么。
有什么办法可以限制它:a)只有POST数据,
您可以在Wireshark中嗅探全部并使用http.request.method == POST进行过滤。
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的手册页获取更多细节。
更好的过滤这种方式
tcpdump src host YOUR-OUTGOING-INterface-IP and dst port 80 or dst port 443