Yerrey/Linux-firewall-log-parser-Python-
GitHub: Yerrey/Linux-firewall-log-parser-Python-
基于 Python 正则表达式的 iptables 防火墙日志解析器,将非结构化日志提取为结构化网络遥测数据,用于安全分析和扫描检测。
Stars: 1 | Forks: 0
# Linux Firewall 日志解析器
一个基于 Python 的日志解析器,用于从 Linux iptables 防火墙日志中提取结构化的网络遥测数据。此脚本解析专门定制的日志文件,以使用 iptables 和 rsyslog 检测网络扫描。这是该项目的起点,后续将添加更多功能。
## 概述
本项目解析原始 iptables 日志并提取:
- 源 IP 地址 (Source IP)
- 目的 IP 地址 (Destination IP)
- 协议 (Protocol) (TCP, UDP, ICMP)
- 源端口 (Source Port)
- 目的端口 (Destination Port)
输出被结构化为 Python 字典,用于进一步分析、告警或 SIEM 接入。
## 架构
1. iptables 记录可疑的 TCP 标志模式(SYN, NULL, FIN, XMAS)。
2. rsyslog 过滤包含 "NETWORK SCAN DETECTED" 的内核日志消息。
3. 日志写入 /var/log/iptables.log。
4. Python 解析器提取 SRC/DST/FLAGS 并输出结构化 JSON。
## 示例日志行
2026-02-05T19:59:43.939150-06:00 raspberryPi kernel: [4524825.077151] NETWORK SCAN DETECTED: IN=wlan0 OUT= MAC=2c:cf:67:7f:4a:62:ba:cc:d5:e8:2f:37:08:00 SRC=192.0.2.10 DST=198.51.100.25
LEN=44 TOS=0x00 PREC=0x00 TTL=46 ID=65427 PROTO=TCP SPT=36003 DPT=3971 WINDOW=1024 RES=0x00 SYN URGP=0
## 示例输出
{
"src_ip": "192.0.2.10",
"dst_ip": "198.51.100.25",
"proto": "TCP",
"src_port": "36003",
"dst_port": "3971"
}
## 工作原理
- 使用 Python `re` 模块和命名捕获组
- 逐行处理日志
- 提取结构化的网络元数据
- 旨在支持未来的告警逻辑
## 未来增强
- JSON 导出
- 结构化日志写入文件
- 端口扫描检测逻辑
- 通过 webhook 进行告警
- 集成轻量级 SIEM 系统
## 作者
Rey Maldonado
Cybersecurity | Network Security | SOC Engineering
标签:AMSI绕过, Homebrew安装, IPTables, IP 地址批量处理, JSON, Python, rsyslog, 协议分析, 威胁检测, 密码管理, 插件系统, 数据提取, 无后门, 日志解析, 权限提升, 端口提取, 网络安全, 网络扫描检测, 网络遥测, 证书伪造, 逆向工具, 防火墙, 隐私保护