Kami melakukannya dengan fungsi command line (Bash) di server web mana saja di stack,
monitor_outbound ()
{
tcpflow -p -c -i bond0 '( port 80 or port 443 ) and ' $(ip addr list | grep -Eoh "([0-9]{1,3}\.){3}[0-9]+" | sort -u | awk '{print "src host " $1 " or"}' | tr '\n' ' ' | sed -E 's# or $##g') | grep --line-buffered -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*' | sed --unbuffered "s/^/$(date "+%b %d %T"): /g"
}
Singkatnya, Anda dapat memanfaatkan metode CURL / fopen di Magento (tapi itu dengan asumsi mereka repot-repot menggunakan metode inti untuk melakukannya), lebih sering daripada tidak, Anda akan menemukan modul khusus menggunakan metode terbuka file_get_contents()
atau curl
metode mereka.
Anda dapat melakukan pemeriksaan cepat dengan sederhana grep
(dengan asumsi kode tidak dikaburkan)
grep -ilrE "curl|file_get_contents|fopen|Zend_Http_Client" app/code/local app/code/community
Dan seperti @Marius katakan di bawah ini, lihatlah modul-modul yang dikaburkan, yang mungkin menyembunyikan metode mereka dalam base64
string terenkripsi
grep -ilrE "eval[\t ]+\(" app/code/local app/code/community
Satu-satunya masalah dengan metode CLI di atas, sementara sangat efektif untuk permintaan HTTP keluar, tidak berguna untuk HTTPS (mengingat lalu lintas dienkripsi), yang terbaik yang Anda dapatkan adalah IP / nama host, tetapi tidak lebih jauh.