Lo facciamo con una funzione da riga di comando (Bash) su qualsiasi rispettivo server Web nello 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"
}
In mancanza di questo, si può sfruttare il ricciolo / metodi fopen in Magento (ma questo è supponendo che si preoccupano di utilizzare metodi di base per farlo), il più delle volte, si trovano moduli personalizzati usano la loro apertura file_get_contents()
o curl
metodi.
Puoi fare un rapido controllo con un semplice grep
(supponendo che il codice non sia offuscato)
grep -ilrE "curl|file_get_contents|fopen|Zend_Http_Client" app/code/local app/code/community
E come ha detto @Marius di seguito, dai un'occhiata ai moduli oscurati, che potrebbero nascondere i loro metodi in base64
stringhe crittografate
grep -ilrE "eval[\t ]+\(" app/code/local app/code/community
L'unico problema con il metodo CLI sopra è estremamente efficace per le richieste HTTP in uscita, è inutile per HTTPS (dato che il traffico è crittografato), il migliore che otterrai è un IP / nome host, ma niente di più.