/GoFender

A minimalist NIDS based on Go and embedded with deep learning

Primary LanguageGoGNU General Public License v3.0GPL-3.0

logo

GoFender

A minimalist NIDS based on Go and embedded with deep learning

Golang Linux windows


What's this?

GoFender is a network intrusion detection system developed based on Go and integrated with deep learning technology.

  • Support distributed deployment
  • Fast processing
  • Using Deep Learning as an Intrusion Detection Algorithm

But, the project is mainly for learning purposes and is currently in its infancy, with only the more important parts completed.

Dependent environment and components

Require environment(Installation Guide)

Dependent library(Installation Guide)

How to use?

1. Clone or download project

# Mian Project + GoFender-WebUI(data visualization)
git clone --recurse-submodules https://github.com/iFANGXIE/GoFender.git

2. Install Go、Kafka、MySQL

3. Install dependent library

4. Edit config file

# example config.yaml
# Kafka Config
kafka_server: "127.0.0.1:9092"

# Mysql Server address
mysql_server: "127.0.0.1:3306"

# Mysql Config: user&password&database name
mysql_user: "your mysql user"
mysql_password: "your mysql password"
mysql_database: "your mysql database name"

# Web Server
web_addr: "127.0.0.1:8888"

#The rest of the configuration items can remain default 

5. Run

 go mod tidy
 go run main.go

6.Open web server address on your browser

http://127.0.0.1:8888/index/

after that you will see a visualization page

demo img

This page is a network attack hotspot map, which simply shows the attack time, geographical location, attack type, attack source, attack target and other information.

Reference

Copyright & License

Copyright (C) 2023 iFANGXIE

GoFender is released under the GUN License. See the LICENSE file for more details.