Skip to main content

Overview

Somnium provides an interactive command-line menu system that allows you to run various security tests to validate your network security controls. Each test generates malicious or suspicious traffic patterns to verify your defensive systems are working correctly.

Starting Somnium

1

Launch the application

Run Somnium from the command line:
python main.py
You’ll see the Somnium ASCII art banner and the main menu.
2

Review the menu options

The menu displays 9 test categories plus an exit option:
#1 Test connection with known bad IPs.
#2 Test connection with known Phishing URLs.
#3 Test connection to TOR Exits Nodes.
#4 Test connection to live Malware distribution Urls
#5 Test connection to known Cryptomining domains.
#6 Test connection to Domain-Generated-Algorithm Domains.
#7 Test connection to Remote Desktop Management.(Anydesk,etc.)
#8 Test connection using known bad user agents.
#9 Generate DNS queries using DoH
#0 Exit.
3

Select a test

Enter the number corresponding to your desired test and press Enter.
After each test completes, the screen clears and returns you to the main menu for additional testing.

Test Categories

Option 1: Test connection with known bad IPsTests connectivity to malicious IP addresses from threat intelligence feeds.What it does:
  • Downloads samples from Cisco Talos, EmergingThreats, and Mirai databases
  • Selects 15 random malicious IP addresses
  • Tests connectivity on ports 80, 22, and 443
  • Records results with timestamps
Output file: IP_Results.txtSample output:
Timestamp:14:23:45 IP:192.0.2.1 : Port:80 test SUCCESSFUL
Timestamp:14:23:50 IP:192.0.2.1 : Port:22 test FAILED
Timestamp:14:23:55 IP:192.0.2.1 : Port:443 test SUCCESSFUL
Your firewall should block these connections. If tests show “SUCCESSFUL”, investigate why malicious IPs aren’t being blocked.

Best Practices

Schedule security validation testing during planned maintenance windows to:
  • Avoid alarm fatigue for SOC analysts
  • Coordinate with security team for expected alerts
  • Document baseline behavior
Run individual test categories to:
  • Isolate specific security control validation
  • Make correlation easier in SIEM/IPS logs
  • Simplify troubleshooting if issues arise
After each test:
  • Review the output file for unexpected successes
  • Verify your security systems logged the attempts
  • Document any gaps in detection or blocking
  • Create remediation tickets as needed
Run Somnium from:
  • Internal network segments
  • DMZ environments
  • Remote/VPN users
  • Different geographic locations
This validates security controls across your entire infrastructure.

Exiting Somnium

To exit the application:
  1. Enter 0 at the menu prompt
  2. The application will clear the screen and terminate
You can run multiple tests in a single session - the menu will redisplay after each test completes.

Build docs developers (and LLMs) love