Làm cách nào để đăng xuất các yêu cầu http gửi đi từ PHP + cURL?


8

Tôi có một tập lệnh PHP được thiết lập để thực hiện các yêu cầu cURL bất cứ khi nào một hành động được thực hiện trên một trang web. Vấn đề là thông tin đang được POST hai lần mỗi khi hành động được chạy.

Tôi cần phải giải quyết nếu đây là vấn đề của tôi (cURL đang được chạy hai lần) hoặc URL mà nó đang POST đang làm gì đó hai lần.

Tôi tưởng tượng cách tốt nhất để làm điều này là xem các yêu cầu POST POST gửi đi từ máy chủ.

Đây có phải là lựa chọn tốt nhất? Nếu vậy, làm thế nào để tôi đi về nó?

Câu trả lời:


10

Bạn có thể sử dụng tcpdumpđể đánh hơi một số gói trên máy chủ, đại loại như thế này:

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

và chạy tập lệnh PHP của bạn để xem điều gì xảy ra.


Có cách nào để hạn chế nó thành a) Chỉ POST dữ liệu,

Bạn có thể đánh hơi tất cả và lọc với http.request.method == POSTtrong Wireshark.

b) Chỉ đến từ 1.1.1.1

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

và c) chỉ đến 2.2.2.2?

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

Đọc tcpdumptrang người đàn ông để biết thêm chi tiết.


Cảm ơn, điều này cho tôi quá nhiều thông tin để xử lý mặc dù. Có cách nào để hạn chế nó ở a) Chỉ dữ liệu POST, b) Chỉ đến từ 1.1.1.1 và c) chỉ đến 2.2.2.2?
Sam

-1

Tốt hơn để lọc theo cách này

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

Tôi không chắc tại sao điều này lại bị đánh giá quá nhiều lần. Nó đưa tôi đến những gì tôi cần.
Jisse Reitsma
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.