Fazemos isso com uma função de linha de comando (Bash) em qualquer servidor Web respectivo na pilha,
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"
}
Além disso, você pode aproveitar os métodos CURL / fopen no Magento (mas isso pressupõe que eles se preocupem em usar métodos principais para fazê-lo); na maioria das vezes, você encontrará módulos personalizados usando seus métodos abertos file_get_contents()
ou curl
.
Você pode fazer uma verificação rápida com uma simples grep
(assumindo que o código não esteja ofuscado)
grep -ilrE "curl|file_get_contents|fopen|Zend_Http_Client" app/code/local app/code/community
E como o @Marius disse abaixo, procure por módulos obscuficados, que podem ocultar seus métodos em base64
strings criptografadas
grep -ilrE "eval[\t ]+\(" app/code/local app/code/community
O único problema com o método CLI acima é extremamente eficaz para solicitações HTTP de saída, é inútil para HTTPS (dado que o tráfego é criptografado), o melhor é um IP / nome de host, mas nada além disso.