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界面, 入侵检测系统, 内存转储, 嗅探, 安全数据湖, 开源, 插件系统, 模块化架构, 端口扫描检测, 网络安全, 配置审计, 防御工具, 隐私保护