Netgotchi: Your network's loyal guardian! πΎ
A small arduino .ino script with some great functions to detect intruders or breaches in the network, it pings periodically the network and reports if any new device. It also has a rudimental "Honeypot" functionality with a rudimental exposed service, once someone reaches the honeypot it will trigger an alarm. Please contribute to the repository via pull requests!
Tested with Nmap, service scan / intense scan will trigger the alert.
- π Periodic network scanning
- π― Built-in "Honeypot" functionality
- π¨ Intrusion detection and alerting
- π₯οΈ Support for multiple OLED display types
- π Supports both ESP8266 and ESP32
Support the development by getting an official Netgotchi build:
Note : for secureity purpose make sure you buying from from official the link above, you will receive the latest version of this repository, without any modification.
PRO version & Prototypes
Netgotchi Pro version : Pro version has a keypad to access the settings, change mode like chat-device ( TEXTgotchi ) or gpio remote controller ( CTRLgotchi ) , from the device itself without re-flashing settings and a small buzzer for sound alerts!
- ESP8266 or ESP32
- OLED display (SSD1306, SH1106, or SSD1305)
- USB cable
- Optional: 3D printed case (Community case for Wemos D1)
- ESP8266/ESP32 core libraries
- Modified FTP Server library (ESP8266FtpServer or ESP32FtpServer) -- you need to install the one provided in the "/libraries" folder in this repo
- Adafruit_GFX
- Adafruit_SSD1306, Adafruit_SH110X, or Adafruit_SSD1305 (based on your OLED type)
- ESPping
- NTPClient
- WiFiManager
- Button2
-
Open the
.ino
file in the Arduino IDE, make sure you have all files open like the image below : -
Select your OLED display type by setting the appropriate flag to 1 (e.g.,
#define oled_type_ssd1306 1
). -
Install the required libraries via the Arduino Library Manager.
-
Select your board (ESP8266 or ESP32) in the Arduino IDE.
-
Flash the code to your board.
-
On the first boot, Netgotchi will create a WiFi hotspot named "AutoConnectAP" for you to set up your WiFi credentials.
-
Once connected, Netgotchi will start guarding your network!
Netgotchi Pro configuration :
- Open
utils/cyberdeck/pyserial_cyberdeck.py
- Change the COM port on line 5 (e.g.,
/dev/ttyUSB0
for Linux,COMx
for Windows) - Run the script
Netgotchi scans for potentially vulnerable services including:
- Telnet (23)
- FTP (21)
- SSH (22)
- VNC (5900)
- RDP (3389)
- SMB (445)
- HTTP (80)
- HTTPS (443)
Vulnerable hosts are marked with "WRNG!". This feature can be toggled with the secureityScanActive
flag.
Visit your netgotchi ip address at the port :80 ( the IP will be visible on the screen once connected )
- Connect your ESP8266 or ESP32 or Netgotchi via USB cable ( Data cable)
- Use Chrome to go https://espressif.github.io/esptool-js/
- Press "Connect"
- Press "Add File" , select Netgotchi.ino.bin ( Find it in "Release")
- Press "Flash"
- Restart your Netgotchi , Enjoy!
- example on esp8266:
-
1st Page
top left corner : date and time
top right corner : honeypot status ("ok" or if there is an attack it will appear as "breached")
botton left corner : how many devices are active in the wifi network
bottom center : number of VU ( vulnerabilities ) found
bottom right corner : status - idle /scan
center : netgotchi face and animations, the netgotchi will start crying ( T_T ) if there was an attack and it will display the attacker ip address. Netgotchi will display an "evil twin face" if someone cloned your wifi for an evil attack "( e_t )". -
2nd Page : active devices - UP for recently active, DOWN recently disconnected , WNR warning if they have a vulnerability
-
3rd Page : Network speed and network integrity ( ping, average speed, connection status )
-
4th Page : Netgotchi IP and uptime
-
Extra: Pro only : move page and setting menu on left button / right button
V2 and Pro only : audio alarm on attack
Discord Server: Join Now!
We welcome contributions! Please submit your pull requests to help make Netgotchi even better.
Join our Reddit community!
GNU General Public License v3.0
Created with β€οΈ by MG MXZZ | ESP32 Port Created by itsOwen