michaellandi/wiresentry

GitHub: michaellandi/wiresentry

一个基于 C#/Mono 的模块化网络入侵检测系统,通过插件化扫描器实时检测端口扫描、ARP欺骗和DNS欺骗等攻击。

Stars: 2 | Forks: 1

# Wire Sentry **Wire Sentry** 是一个模块化的网络入侵检测系统 (IDS) 框架,使用 C# 编写,运行于 [Mono](http://www.mono-project.com) runtime 之上。它捕获实时网络流量,并通过一组可插拔的扫描器模块进行处理,以实时识别恶意活动。 欲了解更多信息,请参阅 [设计文档](wiresentry.pdf)。 ## 功能 - 通过 [SharpPcap](https://github.com/dotpcap/sharppcap) 进行实时数据包捕获 - 模块化扫描器架构 —— 在运行时作为 DLL 插件加载自定义检测器 - 内置针对常见攻击模式的扫描器: - **端口扫描检测** —— 识别顺序 TCP 端口扫描 - **ARP 欺骗检测** - **DNS 欺骗检测** - 可选的扫描结果 MySQL 日志记录 - Daemon 模式,用于持续后台监控 - Ruby on Rails Web 界面 (`src/wiresentry-web`) 用于查看结果 - SDK (`WireSentry.SDK`) 用于构建您自己的扫描器模块 ## 系统要求 - [Mono](http://www.mono-project.com) runtime - [SharpPcap](https://github.com/dotpcap/sharppcap) / PacketDotNet - MySQL(可选,用于结果日志记录) - libpcap / WinPcap ## 用法 ``` wsentryd -d {DEVICE} -c {CONNECTION_STRING} [-v] Options: -d, --device=DEVICE Network interface to capture on -c MySQL connection string (optional) -v Increase debug verbosity (repeatable) -n, --normal Disable promiscuous mode -h, --help Show help ``` **示例:** ``` sudo mono WireSentry.exe -d eth0 -v sudo mono WireSentry.exe -d eth0 -c "Server=localhost;Database=wiresentry;Uid=root;Pwd=pass;" ``` ## 构建自定义扫描器 添加对 `WireSentry.SDK.dll` 的引用,并创建 `Scanner` 的子类: ``` using WireSentry.SDK; public class MyScanner : Scanner { public MyScanner(IDebug debugger) : base(debugger) { } public override Guid Id => new Guid("..."); public override string Author => "Your Name"; public override string Name => "My Scanner"; public override int Frequency => 30; // seconds public override IEnumerable Scan(IDataPacketCollection packets) { // Analyze packets and yield ScannerResult instances for detections yield break; } } ``` 将编译好的 DLL 放入扫描器目录,Wire Sentry 将在启动时自动加载它。 ## 项目结构 ``` src/ wiresentry/ # Core daemon (C#/Mono) WireSentry/ # Main executable and daemon WireSentry.SDK/ # SDK for building scanner modules WireSentry.Scanners.Common/ # Built-in scanner modules wiresentry-web/ # Web UI (Ruby on Rails) data/ schema.mysql # Database schema wiresentry.pdf # Design document ``` ## 许可证 MIT 许可证。详情见 [LICENSE](LICENSE)。
标签:ARP欺骗检测, CSharp, DNS欺骗检测, Mono, Ruby on Rails, SharpPcap, TLS, Web界面, 入侵检测系统, 内存转储, 嗅探, 安全数据湖, 开源, 插件系统, 模块化架构, 端口扫描检测, 网络安全, 配置审计, 防御工具, 隐私保护