sridharchary42/cybersecurity-network-monitoring
GitHub: sridharchary42/cybersecurity-network-monitoring
结合自定义 Snort IDS/IPS 规则与 Python Scapy 数据包分析的网络安全监控系统,用于在模拟数据中心环境中检测、关联和报告多种可疑流量。
Stars: 1 | Forks: 0
# 网络安全监控(毕业设计项目)
## 概述
一个结合了 **Snort IDS/IPS 规则工程** 和 **基于 Python 的数据包分析** 的网络安全监控系统,用于在模拟数据中心环境中检测、关联和报告可疑的流量模式。
### 检测内容
| 威胁类别 | 涵盖技术 |
|---|---|
| 侦察 | SYN scan、NULL scan、XMAS scan、UDP scan、SNMP probing |
| 暴力破解 | SSH、RDP、Telnet 凭证攻击 |
| 恶意软件 / C2 | DNS tunneling、IRC C2、HTTP beaconing |
| 数据泄露 | 大量出站传输、异常 DNS payload 大小 |
| DoS / DDoS | ICMP flood 检测 |
| 违规策略 | Telnet 访问、未经授权的 NETCONF、未加密的管理流量 |
## 项目结构
```
cybersecurity-network-monitoring/
├── snort_rules/
│ └── local.rules # Custom Snort IDS/IPS detection rules
├── wireshark_analysis.py # PCAP parser & suspicious traffic correlator (Scapy)
├── alert_monitor.py # Real-time Snort alert log monitor (terminal dashboard)
├── requirements.txt
└── README.md
```
## 快速开始
### 1. 运行 Wireshark PCAP 分析器
```
pip install scapy
# 演示模式(无需真实 PCAP — 非常适合展示)
python wireshark_analysis.py --demo --summary
# 分析真实捕获文件
python wireshark_analysis.py --pcap capture.pcap --summary --output report.json
```
**示例输出:**
```
══════════════════════════════════════════════════
TRAFFIC ANALYSIS SUMMARY
══════════════════════════════════════════════════
Total Findings : 5
CRITICAL : 1
HIGH : 3
MEDIUM : 1
DNS Queries : 248
[CRITICAL] BRUTE_FORCE | 203.0.113.45 → 10.0.1.10
SSH brute force: 87 SYN packets to port 22
[HIGH ] PORT_SCAN | 192.168.1.200 → 10.0.1.0/24
Source probed 47 unique ports in 3 seconds
[HIGH ] DNS_TUNNELING | 10.0.1.55 → 8.8.8.8
Oversized DNS query: 312 bytes — possible exfiltration
```
### 2. 运行 Snort 实时监控器
```
# 演示模式
python alert_monitor.py --demo
# 查看实时 Snort 输出(需要 Snort 正在运行)
python alert_monitor.py --log /var/log/snort/alert
```
### 3. 使用自定义规则部署 Snort
```
# 在 Ubuntu 上安装 Snort
sudo apt-get install snort
# 复制自定义规则
sudo cp snort_rules/local.rules /etc/snort/rules/
# 添加到 /etc/snort/snort.conf:
# include $RULE_PATH/local.rules
# 以 IDS 模式运行 Snort
sudo snort -A console -c /etc/snort/snort.conf -i eth0
```
## 实验环境
在 VirtualBox 虚拟网络中进行了测试,包含:
- **Kali Linux** — 攻击工作站(运行 Nmap、Metasploit)
- **Ubuntu Server** — 目标主机(启用 SSH、Apache、SNMP)
- **Snort VM** — 监控主机(混杂模式 NIC)
- **Wireshark** — 在监控接口上进行 packet capture
## 已实施的安全最佳实践
1. **纵深防御** — Snort IDS 部署在防火墙之后,以检测横向移动
2. **基于阈值的规则** — 在捕获持续攻击的同时减少误报
3. **严重性分类** — 根据影响对规则进行分类(CRITICAL/HIGH/MEDIUM/LOW)
4. **配置保护** — 保护 NETCONF/SNMP 管理平面的自定义规则
5. **审计日志** — 所有警报均带有时间戳并持久化存储,用于 RCA / 取证审查
## 展示的技能
- Snort IDS/IPS 规则编写与调优
- 使用 Scapy (Python) 进行 packet capture 分析
- 网络威胁检测与分类
- 实时日志监控与告警
- 网络安全实验环境搭建(VirtualBox、Kali、Snort)
- 数据中心基础设施安全最佳实践
标签:IDS/IPS, IP 地址批量处理, Python, Scapy, 插件系统, 无后门, 网络安全监控, 逆向工具, 驱动开发