snort实现入侵检测(实验内容,未完成)

一、实验目的

       理解基于网络的入侵检测系统的基本原理,掌握snort IDS工作机理;

  学习应用snort三种方式工作;熟练编写snort规则;

  完成snort数据包记录、日志查看、字符串匹配、ARP欺骗攻击检测、端口扫描工具检测等功能。

二、系统环境

  Linux(已安装Snort,群共享下载,账号:root;密码:jlcssadmin);

  kali(攻击主机)

三、实验步骤

  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:A3:A4:8A

数据帧目的MAC

00:0C:29:5F:0:10

IP上层协议类型

IP(800)

数据包源IP

192.68.43.6

数据包目的IP

192.168.43.164

数据包总长度

(0x62)98byte

IP报文头长度

20byte

ICMP报文头长度

8byte

ICMP负载长度

84-20(64)

ICMP类型/代码

8/0

  Snort运行的截图如下:

 

  查看snort日志记录

  snort数据包记录

  (1)对网络接口eth0进行监听,仅捕获kali发出的Telnet请求数据包,并将捕获数据包以二进制方式进行存储到日志文件中(/var/log/snort/snort.log)。

  Snort命令:snort -i eth0 -b tcp and src 同组主机IP and dst port 23

  (2)当前主机执行上述命令,同组主机telnet远程登录当前主机。

  (3)停止snort捕获(Ctrl+C),读取snort.log文件,查看数据包内容。

  snort命令   ./snort -dvr /var/log/snort/snort.log.1651584654     

 

 

 

3.简单报警规则

(1)在snort规则集目录ids/rules下新建snort规则集文件new.rules,对来自外部主机的、目标为当前主机80/tcp端口的请求数据包进行报警,报警消息自定义。

snort规则    alert TCP any any -> 192.168.43.164 80 (msg:”you ren yao lian jie 80”)                                                

根据规则完成下表填写。

snort规则动作

alert

规则头协议

tcp

规则头源信息

![192.168.43.164]

规则头目的信息

192.168.43.164 80

方向操作

->

报警消息

you ren yao lian jie 80

 

(2)编辑snort.conf配置文件,使其包含new.rules规则集文件,打开snort.conf,切换至编辑模式,在最后添加新行包含规则集文件new.rules。

添加包含new.rules规则集文件语句_include $RULE_PATH/new.rules

(3)以入侵检测方式启动snort,进行监听。

启动snort的命令 ./snort -A full -dev -c /opt/ExpNIS/NetAD-Lab/Tools/ids/snort.conf

 

以入侵检测方式启动snort,同组主机访问当前主机Web服务。

查看报警日志(/var/log/snort/alert),结果如下

 

4.字符串匹配

(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的命令

 

远程FTP登录,登录用户名:guest,登录口令:guestpass。

查看报警日志(日志文件所在目录以远程FTP登录主机IP命名)提取出FTP客户端登录时所使用的用户名及登录口令。提取到的账号和密码如下。

FTP账号

 

FTP密码

 

后面都没做了,因为这个实验不用交。。。。感兴趣我可以做完

posted @ 2022-07-24 16:34  一点也不咸  阅读(1251)  评论(0编辑  收藏  举报