Как логировать исходящие http запросы от PHP + cURL?

8

У меня настроен скрипт PHP, который делает запросы cURL всякий раз, когда на сайте выполняется действие. Проблема заключается в том, что информация запускается дважды при каждом запуске действия.

Мне нужно разобраться, если это проблема с моей стороны (cURL запускается дважды) или URL, по которому он отправляет сообщение, делает что-то дважды.

Я полагаю, что лучший способ сделать это - просмотреть исходящие запросы HTTP POST с сервера.

Это лучший вариант? Если да, то как мне это сделать?

Сэм
источник

Ответы:

10

Вы можете использовать tcpdumpдля прослушивания некоторых пакетов на сервере, что-то вроде этого:

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

и запустите свой PHP-скрипт, чтобы увидеть, что происходит.


Есть ли способ ограничить это а) только данными POST,

Вы можете прослушивать все и фильтровать с помощью http.request.method == POSTWireshark.

б) только исходя из 1.1.1.1

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

и в) только переход на 2.2.2.2?

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

Прочтите tcpdumpсправочную страницу для более подробной информации.

кванты
источник
Спасибо, это дает мне слишком много информации для обработки. Есть ли способ ограничить это а) только данными POST, б) только из 1.1.1.1 и в) только переходом к 2.2.2.2?
Сэм
-1

Лучше фильтровать таким образом

tcpdump src host YOUR-OUTGOING-INterface-IP and dst port 80 or dst port 443
эмир
источник
Я не уверен, почему за это так много раз проголосовали. Это привело меня к тому, что мне было нужно.
Jisse Reitsma