网络安全技术实验六 入侵检测技术实践
一、实验目的和要求
理解基于网络的入侵检测系统的基本原理,掌握snort IDS工作机理;
学习应用snort三种方式工作;熟练编写snort规则;
完成snort数据包记录、日志查看、字符串匹配、ARP欺骗攻击检测、端口扫描工具检测等功能。
二、实验步骤
1. 启动snort
进入IDS工作目录/opt/ExpNIS/NetAD-Lab/Tools/ids,运行snort对网络接口eth0进行监听,要求如下:
(1)仅捕获kali发出的icmp回显请求数据包。
(2)采用详细模式在终端显示数据包链路层、应用层信息。
(3)对捕获信息进行日志记录,日志目录/var/log/snort。
snort命令参考 ./snort -i eth0 -dev icmp and src kali的IP -l /var/log/snort

本机(IDS)执行上述命令,kali对当前主机进行ping探测,根据snort捕获信息填写下表
| 数据帧源MAC | 00:0C:29:33:AC:88 |
| 数据帧目的MAC | 00:0C:29:2A:6C:B2 |
| IP上层协议类型 | 0x800 |
| 数据包源IP | 192.168.113.137 |
| 数据包目的IP | 192.168.113.145 |
| 数据包总长度 | 0x62 |
| IP报文头长度 | 20字节 |
| ICMP报文头长度 | 8字节 |
| ICMP负载长度 | 84-20 |
| ICMP类型/代码 | 8/0 |
2. 查看snort日志记录。
「说明」 默认snort日志记录最后一级目录会以触发数据包的源IP命名。可使用组合键Ctrl+C停止snort运行。

二.snort数据包记录
(1)对网络接口eth0进行监听,仅捕获kali发出的Telnet请求数据包,并将捕获数据包以二进制方式进行存储到日志文件中(/var/log/snort/snort.log)。
Snort命令:snort -i eth0 -b tcp and src 同组主机IP and dst port 23
- 当前主机执行上述命令,同组主机telnet远程登录当前主机。

(3)停止snort捕获(Ctrl+C),读取snort.log文件,查看数据包内容。
snort命令./snort -dvr /var/log/snort/snort.log.1717488272;截图显示内容。

三.简单报警规则
(1)在snort规则集目录ids/rules下新建snort规则集文件new.rules,对来自外部主机的、目标为当前主机80/tcp端口的请求数据包进行报警,报警消息自定义。
snort规则:
alert tcp !192.168.113.145 any -> 192.168.113.145 80 (msg:”warn”;sid:26287;)
根据规则完成下表填写。
| snort规则动作 | alert |
| 规则头协议 | tcp |
| 规则头源信息 | !192.168.113.145 |
| 规则头目的信息 | 192.168.113.145 |
| 方向操作 | -> |
| 报警消息 | warn |
(2)编辑snort.conf配置文件,使其包含new.rules规则集文件,打开snort.conf,切换至编辑模式,在最后添加新行包含规则集文件new.rules。
添加包含new.rules规则集文件语句include $RULE_PATH/new.rules
(3)以入侵检测方式启动snort,进行监听。
启动snort的命令 ./snort -A full -c /opt/ExpNIS/NetAD-Lab/Tools/ids/snort.conf
以入侵检测方式启动snort,同组主机访问当前主机Web服务(启动阿帕奇服务)。

查看报警日志(/var/log/snort/alert)截图

四.字符串匹配
(1)在snort规则集目录/opt/ExpNIS/NetAD-Lib/Tools/ids/rules下新建snort规则集文件new2.rules,对网络中由vsFTPd参与的通信进行报警,并在FTP服务器声明身份后第一时间内捕获FTP客户端登录用户名及登录口令。
(2)利用activate/dynamic规则对实现。
snort规则 activate tcp any 21 -> any any (activates: 81; content: "vsFTPd"; msg: "FTP User Login"; )
dynamic tcp any any -> any 21 (activated_by: 81; count: 10; msg: "User Name and PASSWORD"; )
(3)编辑snort.conf配置文件,使其包含new2.rules规则集文件。
(4)以入侵检测方式启动snort,进行监听。网络传输数据中的FTP用户名及口令数据是应用层数据,默认情况下snort不显示和记录应用层数据,所以此处在启动snort时应指定其抓取、记录应用层数据。
启动snort的命令
./snort -A full -dev -d -c /opt/ExpNIS/NetAD-Lab/Tools/ids/snort.conf
Kali中利用NC远程FTP登录,登录用户名:guest,登录口令:guestpass。
查看报警日志(日志文件所在目录以远程FTP登录主机IP命名)提取出FTP客户端登录时所使用的用户名及登录口令。(截图)


五.端口扫描攻击检测
(1)修改snort配置文件snort.conf启动端口扫描预处理器,以入侵检测方式启动snort,对来自外部的端口扫描行为进行检测。
portscan:<要监视的网络> <端口数> <检测周期> <日志目录/文件>
监视的网络: 以IP地址/子网掩码的格式指定要进行端口扫描监视的网络。
端口数: 在检测周期(detection period)内访问的端口数目。
检测周期(detection period): 达到某个设定的端口访问量需要的时间,以秒计。
日志目录/文件: 保存警告信息的目录/文件。警告信息也可以写到默认警告文件中。
如:preprocessor portscan:192.168.1.0/24 5 7 /var/log/portscan.log
预处理描述:preprocessor portscan:192.168.113.0/24 5 7 /var/log/portscan.log

(2)Kali使用Nmap对当前主机进行TCP端口扫描操作,待端口扫描完成,查看portscan.log报警日志,回答下面问题。
「注」 若第一次端口扫描后portscan.log没有日志,不要退出snort,请同组主机进行第二次端口扫描。
portscan.log日志记录格式描述:日期 时间 攻击源IP:源端口 -> 目的主机IP:扫描端口 SYN ******S*



默认情况下,Nmap在进行目标主机TCP端口扫描时,扫描顺序:无序(有序/无序)。
六.ARP欺骗攻击检测
本机修改snort配置文件snort.conf,修改情况截图;
Kali实施ARP攻击(假冒网关),将报警结果截图如下。
在snort.conf中找到该条预处理描述,将其前面的注释符号删掉,保存文件。然后运行命令./snort -d -c snort.conf以入侵检测方式启动snort

kali中执行语句arpspoof -i eth0 -t 192.168.113.145 192.168.113.1对目标IP为192.168.113.145的主机进行ARP欺骗攻击,将该主机的流量劫持至网关192.168.113.1

查看snort报警日志/var/log/snort/alert,snort报警提示检测到一个源IP地址与相应的MAC地址之间存在不匹配的情况。

相关文章:
网络安全技术实验六 入侵检测技术实践
一、实验目的和要求 理解基于网络的入侵检测系统的基本原理,掌握snort IDS工作机理; 学习应用snort三种方式工作;熟练编写snort规则; 完成snort数据包记录、日志查看、字符串匹配、ARP欺骗攻击检测、端口扫描工具检测等功能。 …...
SpringBoot中获取当前请求的request和response
在Spring Boot中,你可以以多种方式获取当前请求的HttpServletRequest和HttpServletResponse对象。以下是几种常见的写法示例: 1. 在方法参数中声明 最常见和推荐的方式是在控制器方法的参数中直接声明HttpServletRequest和HttpServletResponse对象。Sp…...
Neo4j 桌面版打不开踩坑贴
真的踩坑。。。没有人告诉我为啥桌面版和社区版不能一起下啊!! 我是先下载了社区版之后再下载的桌面版,结果桌面版界面一直打不开。 尝试了网上多种办法都没效果,好多都是说jdk不兼容导致无法打开,让我从JDK 17 ->…...
[数据集][目标检测]中国象棋检测数据集VOC+YOLO格式300张12类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):300 标注数量(xml文件个数):300 标注数量(txt文件个数):300 标注类别…...
全方位·多层次·智能化,漫途水库大坝安全监测方案
党的十九届五中全会提出,到2025年前,完成新出现病险水库的除险加固,配套完善重点小型水库雨水情和安全监测设施,实现水库安全鉴定和除险加固常态化。 加快推进小型水库除险加固。加快构建气象卫星和测雨雷达、雨量站、水文站组成…...
windows安装SQLyog
windows安装SQLyog 1. 下载 SQLyog 安装包 访问 SQLyog 的官方网站。在网站上找到下载链接,通常会有一个“Download”或“Try Now”按钮。如果需要注册或填写信息以获取下载链接,请按提示操作。 2. 运行安装程序 下载完成后,双击运行下载…...
jEasyUI 转换 HTML 表格为数据网格
jEasyUI 转换 HTML 表格为数据网格 jEasyUI 是一个基于 jQuery 的框架,它为用户提供了一套完整的用户界面组件,使得网页开发变得更加简单快捷。在本文中,我们将探讨如何使用 jEasyUI 将一个普通的 HTML 表格转换为功能丰富的数据网格(datagrid)。 为什么使用数据网格? …...
深度解析RocketMq源码-持久化组件(一) MappedFile
1. 绪论 rocketmq之所以能够有如此大的吞吐量,离不开两个组件,一个是利用netty实现的高性能网络通信组件;另一个就是利用mmap技术实现的存储组件。而在rocketmq的存储组件中主要有三个组件,分别是持久化文件commitLog,…...
贝壳APP渗透测试WP
前期配置 环境说明 使用PIXEL 4手机,为Android 12系统 APP名为贝壳找房,包名com.lianjia.beike,版本号3.01.10,截至2024/05/07为最新版,小米应用市场下载 绕过反Frida机制 可以参考往期推送,《绕过最新…...
IDEA快速入门02-快速入门
二、快速入门 2.1 打开IDEA,点击New一个项目 入口,依次打开 File -> New -> Project。 2.2 使用Spring Initializr方式构建Spring Boot项目 2.3 设置项目所属组、项目名称、java版本等 2.4 选择SpringBoot版本及依赖组件 点击Create进行创建。 2.6 创建成…...
快速构建本地RAG聊天机器人:使用LangFlow和Ollama实现无代码开发
基于LangChain的快速RAG应用原型制作方法 还记得构建智能聊天机器人需要数月编码的日子吗? LangChain这样的框架确实简化了开发流程,但对非程序员来说,数百行代码仍然是一道门槛。 有没有更简单的方法呢? 图片由 Ravi Palwe 在…...
关于使用pycharm中控制台运行代码错误之FileNotFoundError: [Errno 2] No such file or directory:
在使用pycharm环境下复现《python编程:从入门到实践》这本书第16.1.1内容中分析csv文件头一节的代码时出现如下问题: 1、文章中使用的数据来源问题 直接参考本站Kenny C同学的文章提供内容即可。 https://github.com/kenidi8215/Hello-World 打开网页&a…...
【SpringBoot】深入分析 SpringApplication 源码:彻底理解 SpringBoot 启动流程
在黄昏的余晖里,梦境渐浓,如烟如雾。心随星辰,徜徉远方,岁月静好,愿如此刻般绵长。 文章目录 前言一、SpringBoot 应用二、SpringApplication2.1 SpringApplication 中的属性2.2 SpringApplication 的构造器2.3 Sprin…...
边界内聚和耦合
内聚 功能内聚 功能内聚是软件工程中一个重要的概念,它描述了一个模块内部各个元素之间的紧密程度。一个具有高功能内聚的模块意味着其内部的各个组件都共同完成一个具体的、明确的功能,并且这些组件之间的联系不是偶然的,而是因为它们共同服…...
单调栈——AcWing.830单调栈
单调栈 定义 单调栈是一种特殊的数据结构,栈内元素保持某种单调性(通常是单调递增或单调递减)。 运用情况 求解下一个更大元素或下一个更小元素。计算每个元素左边或右边第一个比它大或小的元素。 注意事项 要明确单调栈是递增还是递减…...
手机上安装AI模型是一种什么体验?
昨天参加微软的AI DAY活动,看到微软的技术大佬分享了一个场景,就是坐飞机从上海到北京,机长广播因为天气原因,飞机需要盲降,他说当时听到盲降第一反应感觉有点恐慌,但是因为飞机上受限于网络环境࿰…...
【MySQL】主从复制
https://www.bilibili.com/video/BV1Kr4y1i7ru/?p161 https://blog.csdn.net/qq_47959003/article/details/126058710 主从复制是指将数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做)&…...
vscode插件开发之 - menu配置
上一遍博客介绍了如何从0到1搭建vscode插件开发的base code,这遍博客将重点介绍如何配置menu。通常,开发一款插件,会将插件显示在VSCode 左侧的活动栏(Activity Bar),那么如何配置让插件显示在Activity Bar…...
自学C语言-9
** 第9章 函数 ** 大型程序一般会被分为若干个程序模块,每个模块实现一个特定功能 。C语言中,由函数实现子程序,由子程序实现模块功能。本章致力于使读者了解函数的概念,掌握函数的定义及调用方式;了解内部函数和外部…...
NVIDIA Triton系列01-应用概论
NVIDIA Triton系列01-应用概论 推理识别是人工智能最重要的落地应用,其他与深度学习相关的数据收集、标注、模型训练等工作,都是为了得到更好的最终推理性能与效果。 几乎每一种深度学习框架都能执行个别的推理工作,包括 Tensorflow、Pytorc…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
HTTPS证书一年多少钱?
HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...
