网络安全技术实验六 入侵检测技术实践
一、实验目的和要求
理解基于网络的入侵检测系统的基本原理,掌握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…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
