网络安全技术实验六 入侵检测技术实践

一、实验目的和要求

理解基于网络的入侵检测系统的基本原理,掌握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

  1. 当前主机执行上述命令,同组主机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地址之间存在不匹配的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/709975.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机视觉】人脸算法之图像处理基础知识(二)

图像处理基础知识&#xff08;二&#xff09; 1.图像的颜色空间转换 我们常见的图像通常由R&#xff08;红色&#xff09;、G&#xff08;绿色&#xff09;、B&#xff08;蓝色&#xff09;组成。但是在很多时候我们会将彩色图像转换成灰度图像进行处理。此时会用到cv2.cvtCo…

C#观察者模式应用

目录 一、什么是观察者模式 二、C#中观察者模式的实现 三、两种实现的用法 1、事件与委托 2、IObserver和IObservable 四、参考文献 一、什么是观察者模式 观察者&#xff08;Observer&#xff09;模式的定义&#xff1a;指多个对象间存在一对多的依赖关系&#xff0c;当…

AGI 远不止 ChatGPT!一文入门 AGI 通识及应用开发

AI 大语言模型进入爆发阶段 2022 年 12 月 ChatGPT 突然爆火&#xff0c;原因是其表现出来的智能化已经远远突破了我们的常规认知。虽然其呈现在使用者面前仅仅只是一个简单的对话问答形式&#xff0c;但是它的内容化水平非常强大&#xff0c;甚至在某些方面已经超过人类了&am…

WordPress插件数据库批量替换内容工具插件

1、安装插件后&#xff0c;我们就可以在后台菜单看到工具操作界面 2、目前支持网站内容、标题、评论指定字符的快速替换 3、可以快速解决以往我们需要从MYSQL数据库命令替换的烦恼

聊聊DoIP吧(三)-端口号port

DoIP在UDP和TCP建立连接和发送诊断报文的过程中使用的端口定义如下&#xff1a;

通过腾讯云TDSQL TCPTCE(MySQL版)认证考试秘籍宝典

腾讯云TDSQL(MySQL版)交付运维高级工程师TCCP证书展示 腾讯云TDSQL(MySQL版)交付运维专家TCCE考试成绩、证书展示 认证类型与级别 TCCA:入门级(初级) TCCP:高级(中级) TCCE:专家级(高级) 考试形式 考试是在线考试&#xff0c;考生需要在腾讯云大学官网上完成。 腾讯云TDSQ…

最新情侣飞行棋高阶羞羞版,解锁私密版情侣小游戏,文末有福利!

今天要跟大家聊聊一种特别有意思的游戏——情侣飞行棋羞羞版。别急着脸红&#xff0c;这可是专为情侣设计的游戏&#xff0c;让你们在轻松愉快的氛围中&#xff0c;增进了解&#xff0c;加深感情。 谈恋爱&#xff0c;不就是两个人在一起&#xff0c;做些有趣的事情吗&#xf…

鸿蒙开发:【设置任务快照的图标和名称】

设置任务快照的图标和名称 设置任务快照的图标和名称是为了提高用户界面的可视化性和用户体验&#xff0c;以便更好地管理和跟踪应用程序中的任务和功能。通过为每个任务快照设置不同的图标和名称&#xff0c;可以更轻松地区分和识别每个任务的功能。 默认情况下任务快照的图…

江协科技51单片机学习- p7 独立按键控制LED灯

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记&#xff0c;在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用&#xff1a; 51单片机入门教程-2…

SAP FI 批量显示科目余额 发生额的报表

实际界面 结果 源代码 *&---------------------------------------------------------------------* *& Report ZRPT_FICO_F01 *&---------------------------------------------------------------------* *& 20240614 批量显示余额 发生额 *&---------…

Python | Leetcode Python题解之第149题直线上最多的点数

题目&#xff1a; 题解&#xff1a; class Solution:def maxPoints(self, points: List[List[int]]) -> int:n len(points)if n < 2:return nres 2for i in range(n):x1, y1 points[i][0], points[i][1]has {}for j in range(i 1, n):x2, y2 points[j][0], points…

[Java基本语法] 异常

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;线程与…

从0到1:手动测试迈向自动化——手机web应用的自动化测试工具

引言&#xff1a; 在当今移动互联网时代&#xff0c;手机web应用已经成为人们生活中不可或缺的一部分。为了保证手机web应用的质量和稳定性&#xff0c;自动化测试工具变得十分重要。本文将介绍手机web应用自动化测试工具的选择和使用&#xff0c;提供一份超详细且规范的指南&a…

ChatGPT魔法背后的原理:如何做到词语接龙式输出?

介绍 我们都知道 ChatGPT 是 AIGC 工具&#xff0c;其实就是生成式人工智能。大家有没有想过这些问题 &#x1f914;️&#xff1a; 1、我们输入一段话&#xff0c;就可以看见它*噼里啪啦的一顿输出*&#xff0c;那么它的原理到底是什么&#xff1f; 2、到底它是怎么锁定这些…

SpringCloud之Zuul源码解析

Zuul 是在云平台上提供动态路由&#xff0c;监控&#xff0c;弹性&#xff0c;安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。Zuul 可以适当的对多个 Amazon Auto Scaling Groups 进行路由请求。 其架构如下图所示&#xff1a; Zuu…

Oracle数据库安装-Linux

Oracle数据库安装-Linux 1、修改CentOS系统标志&#xff08;oracle默认不支持CentOS&#xff09;2、安装oracle 1、修改CentOS系统标志&#xff08;oracle默认不支持CentOS&#xff09; 1.1、备份原有的配置文件&#xff0c;编辑文件&#xff0c;将原有内容删除&#xff0c;替…

hrm人力管理系统源码(从招聘到薪酬的全过程人力管控系统)

一、项目介绍 一款全源码可二开&#xff0c;可基于云部署、私有部署的企业级数字化人力资源管理系统&#xff0c;涵盖了招聘、人事、考勤、绩效、社保、酬薪六大模块&#xff0c;解决了从人事招聘到酬薪计算的全周期人力资源管理&#xff0c;符合当下大中小型企业组织架构管理运…

Linux网络-HttpServer的实现

文章目录 前言一、请求报文的解析URL的解析 二、响应报文的发送Content-LenthConten-TypeCookie和Set-CookieCookie的风险 三、尝试发送一个HTML网页404网页Location 重定向 四、浏览器的多次请求行为总结 前言 之前我们简单理解了一下Http协议&#xff0c;本章我们将在LInux下…

Unity OpenCVForUnity 安装和第一个案例详解 <一>

目录 一、资源简介 二、安装使用 1.下载案例Demo 2.移动StreamingAssets文件夹 3.添加场景 三、今日案例 1.案例Texture2DToMat Example 2.什么是Mat&#xff1f; 3.如何把Texture2D变成Mat &#xff08;1&#xff09;.初始化Mat &#xff08;2&#xff09;.Cv_…

OpenAI函数调用:使用Assistants API函数工具的一个示例

Are you looking to expand GPTs capabilities? Check out this tutorial for a complete example of an AI Assistant that can send emails whenever we ask it to. 您是否希望扩展GPT的功能&#xff1f;查看这个教程&#xff0c;它提供了一个完整的示例&#xff0c;展示了…