suricata编译安装和运行

news/2024/10/20 5:29:23/

目录

编译安装

运行

调试


编译安装

apt -y install autoconf automake build-essential cargo \
     libjansson-dev libpcap-dev libpcre2-dev libtool \
    libyaml-dev make pkg-config rustc zlib1g-dev
    
apt-get install libpcre3-dev

wget https://www.openinfosecfoundation.org/download/suricata-7.0.0.tar.gz
tar xzvf suricata-7.0.0.tar.gz
cd suricata-7.0.0/

./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var

make
make install-full

运行

1、编辑/etc/suricata/suricata.yaml

修改如下:

第一个箭头处为抓包网卡名称

第二箭头处添加一行

2、

cd /var/lib/suricata/rules

新增自定义规则,创建test.rules,内容为

alert tcp any any -> any any (msg: "Http rule test!";  flow:to_server,established; http.uri; content:"suricata"; sid:3030303; rev:1;)

http报文中uri包含suricata字段,就会匹配中该规则
编辑/etc/suricata/suricata.yaml新增一行

3、

运行suricata,使用af-packet抓包

/usr/bin/suricata -c /etc/suricata/suricata.yaml --af-packet

回放http pcap文件uri中包含suricata字段即可

tcpreplay -i ens160 -M 50  test.pcap

tail -f fast.log,查看日志如下

08/19/2024-05:50:30.126731  [**] [1:3030303:1] Http rule test! [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.1.4:62622 -> 192.168.1.5:8080

3030303就是自定义的规则id

调试

1、开启debug模式

执行configure时需要加上--enable-debug

 ./configure --enable-debug  --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var

编辑/etc/suricata/suricata.yaml,default-log-level改成debug

执行: /usr/bin/suricata -c /etc/suricata/suricata.yaml --af-packet,会输出很多debug日志


http://www.ppmy.cn/news/1511716.html

相关文章

新建vue项目时> In dedicated config files和 In package.json的区别

‌In dedicated config files和In package.json的主要区别在于配置文件的组织和可读性。‌ ‌In dedicated config files‌:每个配置文件都单独放置,这意味着不同的配置(如ESLint、Babel等)被保存在各自的配置文件中。这种方式使得…

Android 架构模式之 MVP

目录 架构设计的目的对 MVP 的理解代码ModelViewPresenter Android 中 MVP 的问题试吃个小李子ModelViewPresenter 大家好! 作为 Android 程序猿,你有研究过 MVP 架构吗?在开始接触 Android 那一刻起,我们就开始接触 MVC 架构&am…

STM32智能温室管理系统开发指南:利用MQTT/HTTP、Node.js、MySQL及React进行数据可视化(代码示例)

一、项目概述 随着农业现代化的推进,智能温室管理系统应运而生。该项目旨在开发一套基于STM32微控制器的智能温室管理可视化系统,通过实时监测温室环境参数(如温度、湿度、光照度等),并对其进行智能控制,提…

我怎么会这么依赖 GUI?

AWS CLI、.NET 和 Lambda 函数 欢迎来到雲闪世界。在 Windows 上使用 Visual Studio 和 AWS Explorer 绝对会让你变得懒惰。我的意思是,能够通过右键单击项目来构建和部署 Lambda 函数之类的东西真是太棒了,但有时最好了解幕后发生了什么。 尽管如此&am…

爱心动画代码HTML5

这段代码是一个HTML5 Canvas动画,它通过JavaScript创建了一个动态的爱心效果。页面初始化时,首先定义了一些基本设置,如粒子数量、持续时间、速度等。然后,定义了Point和Particle类,用于处理粒子的位置和运动。接着&am…

Linux安装MQTT 服务器(图文教程)

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,专为低带宽和不稳定的网络环境设计,非常适合物联网(IoT)应用。 官网地址:https://www.emqx.com/ 一、版本选择 根据自己…

开源的数据库增量订阅和消费的中间件——Cancl

目录 工作原理 MySQL主备复制原理 Canal 工作原理 主要功能和特点 应用场景 实验准备 安装JDK11 下载MySQL8.0 配置canal.admin 配置canal-deployer 测试数据读取 新增一台主机用做被同步的目标机器测试 官方地址:https://github.com/alibaba/canal?ta…

使用 C++ 实现一个简单的数据库连接池

使用 C 实现一个简单的数据库连接池 在现代应用程序中,数据库连接的管理是一个重要的性能瓶颈。频繁地创建和销毁数据库连接会导致显著的性能下降。为了解决这个问题,连接池技术应运而生。本文将介绍如何使用 C 实现一个简单的数据库连接池,…