Windows 10 搭键开源IDS-Snort,简单过滤注入
关于Snort
snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
安装配置Snort
下载安装包及规则:www.snort.org(下面我使用的安装包版本为2.9.16 x86,x64会有抓不到包的问题,规则包为29160)
提前安装Winpcap,因为snort需要基于Winpcap抓包的
安装Snort,默认选项一直单击下一步直至安装完成



在snort\bin目录下执行命令,查看snort信息,snort安装完成
snort -V

实现Snort的IDS功能
配置snort
下载规则库后解压

将preproc_rules,rules,so_rules替换到snort目录下,如下:

修改配置文件snort\etc\snort.conf
var RULE_PATH ../rules
var SO_RULE_PATH ../so_rules
var PREPROC_RULE_PATH ../preproc_rules
修改为你的安装目录:

# path to dynamic preprocessor libraries
dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
# path to base preprocessor engine
dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
# path to dynamic rules libraries
dynamicdetection directory /usr/local/lib/snort_dynamicrules
后两条暂时用不到,所以直接注释掉,修改为:

这里也暂时用不着,注释掉,否则后面会报错:

这里是规则库,对符合过滤规则的进行匹配,我先注释掉,只留一条include $RULE_PATH/local.rules

开始操作
在snort\rules目录下local.rules文件中最下添加一条
alert tcp any any -> 192.168.134.0/24 80 (content:"and"; msg: "SQL inject attack"; sid:1000001)
这句话的意思是发出警告,tcp流量,任何地址的任何端口到目标ip:192.168.134.0/24的80端口的流量做匹配,匹配规则为'and',报警消息为'SQL inject attack',规则编号1000001(自定义规则必须写,且不能重复)

在一台虚拟机上搭起web服务

查看下本机网卡
snort -W

将cmd路径移到bin目录下,执行命令
snort -i2 -dev -l E:\Snort2.9.16\Snort\log -c E:\Snort2.9.16\Snort\etc\snort.conf
选择网卡2(选择哪个,则会抓哪个网卡的包),这里会输出日志文件到log目录,使用snort.conf配置,注意这里如果conf配置有问题的话,执行命令会报错,我曾解决报错问题解决了一整天
如果报错有winpacp,更换snort包为x86,其它配置各种报错都有,只要按照流程就不会报错,最开始我也是按照流程的,还是报错,解决办法:规则文件和安装包版本匹配(我也不知道为什么)反正是不报错了,还是报错的话,把规则包中的etc文件也替换进去,然后重新配置snort.conf(QAQ,这里我也不知道为什么,按说是一样的,但是我记得我是这么做了就不报错了)
成功执行后:

已经开始抓包了,我们看一下日志

没有什么关键信息,我们去刷新网页

这里再查看日志,还是没有任何变化
重新刷新地址
http://192.168.134.135/?id=1%20and%201=1

再次查看日志,攻击匹配并记录下来了

cmd页面也显示出了流量包内容,注意,在真实环境,不建议打印出来,因为这样会增加snort的负荷,可能会丢包

Windows 10 搭键开源IDS-Snort,简单过滤注入的更多相关文章
- Windows 10 版本 1507 中的新 AppLocker 功能
要查看 Windows 10 版本信息,使用[运行]> dxdiag 回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...
- [转帖]为微软效力15年的微软前员工解释Windows 10为什么问题这么多
为微软效力15年的微软前员工解释Windows 10为什么问题这么多 https://www.cnbeta.com/articles/tech/892109.htm . 测试团队已经被裁撤 . 自动化 ...
- GitHub 上 10 款免费开源 Windows 工具
GitHub 上 10 款免费开源 Windows 工具 GitHub 是如今所有开源事物的中央仓库, 这个网站最近发布了一个叫做<2016 Octoverse 状态报告>,详细列出了从 ...
- 机甲大师S1机器人编程学习,Windows 10 安装Scratch和简单实例学习
机甲大师S1支持 Scratch 3.0以上版本. Scratch官方网址:https://scratch.mit.edu/ 最新版本为3.4.0 今天在Windows 10上,安装最新版本. 1. ...
- [开源中国]Windows 10 全球市场份额正式超越 Windows 7
Windows 10 全球市场份额正式超越 Windows 7 全球知名科技数据调查公司 Netmarketshare 昨天发布了2018年12月份最新的桌面操作系统份额报告.对于微软来说,这是历史一 ...
- Windows 10系统专业精简
第1页:捆绑应用一键卸载 随着微软彻底放弃win7的更新,win8的弱势,新一代的win10系统则成为了微软着力打造的王牌系统. 作为微软最新的王牌产品,win10系统从功能到外观都有着超过前代产品的 ...
- 如何通过官方渠道为Windows 10 添加具有中国特色的字体
Windows 10的变化细节上个人认为要比Windows 8多很多,而且很多功能找到之后还是小惊喜,就是挺多好用的地方居然都不正经宣传一下,微软真是搞得悄悄地干活? 今天为大家介绍一下通过官方途径添 ...
- 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog
[源码下载] 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog 作者:webabcd 介绍背水一战 Windows 10 之 控 ...
随机推荐
- Java实现汉诺塔问题
1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus is possible for using animation. e ...
- java实现第九届蓝桥杯整理玩具
整理玩具 小明有一套玩具,一共包含NxM个部件.这些部件摆放在一个包含NxM个小格子的玩具盒中,每个小格子中恰好摆放一个部件. 每一个部件上标记有一个0~9的整数,有可能有多个部件标记相同的整数. 小 ...
- python3 优惠券查询GUI程序
from tkinter import ttkfrom tkinter import messageboximport pymssqlimport tkinterimport decimalimpor ...
- vim编辑器添加插件NERDTree
0x01 首先在 http://www.vim.org/scripts/script.php?script_id=1658 下载插件 (可能要爬梯,也可以在https://github.com/scr ...
- Java I/O模型及其底层原理
Java I/O是Java基础之一,在面试中也比较常见,在这里我们尝试通过这篇文章阐述Java I/O的基础概念,帮助大家更好的理解Java I/O. 在刚开始学习Java I/O时,我很迷惑,因为网 ...
- Hive中row_number()、dense_rank()、rank()的区别
摘要 本文对Hive中常用的三个排序函数row_number().dense_rank().rank()的特性进行类比和总结,并通过笔者亲自动手写的一个小实验,直观展现这三个函数的特点. 三个排序函数 ...
- javascript 面向对象学习(三)——this,bind、apply 和 call
this 是 js 里绕不开的话题,也是非常容易混淆的概念,今天试着把它理一理. this 在非严格模式下,总是指向一个对象,在严格模式下可以是任意值,本文仅考虑非严格模式.记住它总是指向一个对象对于 ...
- Js中Array 函数使用方法
遇到数组有关操作,脑子第一反应不要再是嵌套 for 循环了,Array 类型提供了一些遍历有关的函数. Array.prototype.forEach() : 把数组每个元素丢到一个处理 functi ...
- redis的5种数据结构和基本操作
1.字符串(string) 1.1设置值 set key value [ex seconds] [px milliseconds] [nx|xx] 例如: 127.0.0.1:6379> set ...
- 封装find_element
因为find_element_by_id,find_element_by_name底层都是用find_element实现元素查找 #!/usr/bin/env python # -*- coding: ...