一、snort3
snort3在kali中可以直接
bash
sudo apt-get update
sudo apt-get install snort
在外部条件都充足的条件下(如该有的C++编译器还有libver那些库都有),snort3可以直接
bash
sudo snort -c /etc/snort/snort.lua -i eth0 -A alert_full
启动,此时snort使用的是默认的lua配置文件,同时默认监听eth0网卡
如果需要更换网卡可以用
bash
ifconfig
检查自己kali中网卡名称进行更换
但是在使用过程中一直都无法自己更改新规则,网上搜到的include加路径等都无效
这里贴几个搜到过的可能有效的结果(我实验过是无效的)
Kali 下安装snort并且配置规则(保姆级教学)_snort文件下载-CSDN博客
Snort3规则加载问题解析与解决方案 - AtomGit | GitCode博客
所以本文只提供snort2稳定版本的安装方法,snort3请自行尝试,成功的可以来跟我说说结果,反正我是没搞明白。
二、snort2安装
首先安装必要依赖
bash
apt-get update
apt-get upgrade
apt-get install gcc
apt-get install flex
apt-get install bison
apt-get install zlib1g-dev
apt-get install libpcap-dev
apt-get install libdnet-dev
apt-get install luajit
apt-get install liblua5.1-0-dev
apt-get install liblua5.1-0-dev liblua50-dev liblualib50-dev
apt-get install build-essential
apt-get install libpcre3-dev
apt-get install libdumbnet-dev
apt-get install openssl libssl-dev
apt-cache search lua
下载daq
bash
wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz
tar -zxvf daq-2.0.7.tar.gz
cd daq-2.0.7
./configure
make
make install
下载luajit
bash
wget https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz --no-check-certificate
tar -xvzf LuaJIT-2.1.0-beta3.tar.gz
cd LuaJIT-2.1.0-beta3/src
make
cd ..
make install
下载snort2
bash
wget https://www.snort.org/downloads/snort/snort-2.9.20.tar.gz
tar -xvzf snort-2.9.20.tar.gz
cd snort-2.9.20.tar.gz
./configure --enable-sourcefire
make
make install
如果提示无法找到rpc.h
bash
sudo find / -name "rpc.h" 2>/dev/null
cp -a /usr/include/gssrpc/rpc.h /usr/include/rpc
如果提示无法找到netdb.h
bash
rm -f /usr/include/netdb.h
# 2. 强制重装 glibc 开发头文件(这是提供 netdb.h 的正确包)
apt-get update
apt-get install --reinstall -y libc6-dev linux-libc-dev
# 3. 验证修复:确认 netdb.h 现在是真实文件且可读
ls -la /usr/include/netdb.h
head -n 5 /usr/include/netdb.h
# 4. 重新编译 Snort
cd /snort-2.9.20
make -j$(nproc)
然后就跟着上面的教程把conf文件中的网卡配置和自己的rules加入就行
检验snort可用性
bash
sudo snort -T -c /etc/snort/snort.conf