Answers:
我们使用堆栈中任何相应Web服务器上的命令行(Bash)函数来执行此操作,
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"
}
简而言之,您可以利用Magento中的CURL / fopen方法(但这是假设它们烦恼地使用核心方法来做到这一点),您经常会发现自定义模块使用其open file_get_contents()
或curl
方法。
您可以使用简单的方法进行快速检查grep
(假设代码没有混淆)
grep -ilrE "curl|file_get_contents|fopen|Zend_Http_Client" app/code/local app/code/community
就像@Marius在下面说的那样,看看过时的模块,它们可能会将其方法隐藏在base64
加密的字符串中
grep -ilrE "eval[\t ]+\(" app/code/local app/code/community
上面的CLI方法的唯一问题是,它对于出站HTTP请求非常有效,而对HTTPS则毫无用处(如果对通信进行了加密),那么您获得的最好的就是IP /主机名,但没有其他好处。
eval
并查看这些eval
功能中发生了什么。电话家庭使用的大多数分机eval
只是为了让您不容易找到他们的电话号码。
eval
太