我在 windows server 2008 R2 x64 上使用 Snort 2.9,配置非常简单,如下所示:
# Entire content of Snort.conf:
alert tcp any any -> any any (sid:5000000; content:"_secret_"; msg:"TRIGGERED";)
# command line:
snort.exe -c etc/Snort.conf -l etc/log -A console
使用我的浏览器,我将 url 中的字符串“_secret_”发送到我的服务器(Snort 所在的位置)。例子:http://myserver.com/index.php?_secret_
Snort 收到它并发出警报,它可以工作,没问题!但是当我尝试这样的事情时:
<?php // (index.php)
header('XTest: _secret_'); // header
echo '_secret_'; // data
?>
如果我只是请求http://myserver.com/index.php
,即使 php 文件在标头和数据中都发送相同的字符串,没有压缩/编码或其他任何内容,它也不起作用或检测到传出流量中的任何内容。(我使用 Wireshark 检查过)
这在我看来像是一个 Snort 问题。无论我做什么,它只检测接收数据包。有人在使用 Snort 时遇到过这种问题吗?知道如何解决吗?