我正在运行macOS Sierra 10.12.3
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.3
BuildVersion: 16D32
我使用homebrew
安装了snort$ brew install snort
$ brew ls --versions snort
snort 2.9.9.0
我正在运行snort并使用 user 配置文件,-s
syslog开关和tcpdump文件
$ sudo snort -c /etc/snort/snort.conf -s -r tcpdump.pcap
我的/etc/snort/snort.conf
文件具有以下输出设置:
output alert_syslog: LOG_AUTH LOG_ALERT
执行时,会在/var/log/snort/snort.log.1489953549
我知道我的规则正在运行,因为如果我使用 fast 的警报模式执行snort
$ sudo snort -c /etc/snort/snort.conf -A fast -r tcpdump.pcap
创建了一个新的空白 /var/log/snort/snort.log.1489954258
,但还创建了一个/var/log/snort/alert
日志文件,其中包含正确的警报输出。
我已经看到others由于权限而遇到此问题,但我不相信这是我的问题,因为我正在运行snort作为sudo
并且它能够写入alert
日志就好了。
据我所知,我还不拥有$NO_PACKET_LOG
。 reference
看起来brew在/usr/local/etc/snort
下安装了一些默认的snort配置文件,但我不认为这些会影响我,因为我使用-c
开关来提供用户配置文件。
免责声明:这是我第一次使用snort,因此我可能会非常明显地忽略这一点。非常感谢任何和所有帮助。
答案 0 :(得分:1)
<强> TL; DR 强>
使用tcpdump
,snort
,tshark
或Wireshark来阅读snort日志文件(how to view snort log files)
$ sudo tcpdump -r snort.log.1489953549
我的空日志文件从未实际为空(请注意ls
的文件大小)
$ ls -ltr /var/log/snort/
-rw------- 1 root admin 56018718 Mar 19 15:03 snort.log.1489954258
-rw------- 1 root admin 56018718 Mar 19 15:11 snort.log.1489953549
-rw-r--r-- 1 root admin 70202224 Mar 19 15:11 alert
必须使用正确的应用程序
读取Snort日志文件它是什么类型的文件?
$ sudo file snort.log.1489953549
snort.log.1489953549: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 1514)
使用tcpdump
$ sudo tcpdump -r snort.log.1489954258
06:54:16.654692 IP 192.168.5.81.amt-blc-port > 100.100.100.212.6667: Flags [P.], seq 1304973037:1304973067, ack 1425084530, win 8011, options [nop,nop,TS val 14215752 ecr 2196036272], length 30
...