由于自己分析需要,特此建立该项目。
该项目使用GOLANG开发的TRAFFICLOG后台,并将数据记录到MYSQL中。
TRAFFICLOG项目将实现以下功能:
1.可记录源IP,目的IP,协议,源端口,目的端口,持续通讯时间,通讯数据包数量,通讯传输字节等流量信息。(已完成)
2.可解析目的IP的地理位置及运营商。(2020.06.30已完成)
3.支持多路由汇聚记录后分开查询。(2020.07.01已完成)
4.可通过配置文件调节记录过滤参数,包括持续时间,包数量,通讯字节大小等来判断是否被记录。(2020.08.07已完成)
5.可过滤不正常的日志数据包来防止出现程序异常。(已完成)
6.允许自定义最大存储天数,可自动清除旧数据。(2021.03.12已完成)
7.可将数据存储至内存,无需写盘,适合短期存储。(2021.03.25已完成)
8.可设置配置文件,若包含文件内的黑名单的IP则不记录。(2020.07.01已完成)
9.可设置配置文件,若源IP包含在文件的白名单IP段则记录,用于透传流量分析。(2020.07.07已完成)
10.配置文件整合,支持单配置文件使用固定格式来完成多个参数设定,扩展支持更多自定义参数。(2020.08.07已完成)
11.支持全段公网NAT转发业务环境,作为中间转发时也能正确解析记录。本环境通常用于被攻击时的日志分析。(2021.01.13已完成)
12.支持配置文件定义IP定位时选择源地址或者目的地址。(2021.01.13已完成)
之后可能会按需扩展其他功能。
更新时间:2021/03/25
更新内容:配置文件新增存储类型定义,可选存储磁盘或存储至内存。内存适合短期存储高并发读写及运算,磁盘适合长期存储对并发和运算需求比较低的。至此全部计划的功能实现完毕。
更新时间:2021/03/12
更新内容:新增机器码模块,网络认证模块,可以授权外部非信任机器运行,周期循环进行网络认证,认证失败核心模块将暂停工作,等待认证成功才会继续工作。允许通过配置文件定义最大保存数据天数,超出指定天数的日志将被定期清除。