A Python-based DNP3 communication system for training purposes, allowing safe simulation of RTU and relay communication with circuit breaker control operations.
- ✅ DNP3 protocol communication simulation
- ✅ YAML-based configuration management
- ✅ Circuit breaker control (trip/close operations)
- ✅ Real-time status monitoring
- ✅ Interactive command-line interface
- ✅ Safe training environment (no real equipment required)
-
Download and extract this repository
-
Install dependencies:
pip install PyYAML- Run the training system:
python run_training.pypython run_training.pyAvailable commands:
trip CB_MAIN- Trip (open) the specified breakerclose CB_MAIN- Close the specified breakerstatus- Show all breaker stateslist- List all configured breakershelp- Show all commandsquit- Exit the program
DNP3 Training System v1.0
⚠️ TRAINING ENVIRONMENT - SIMULATION MODE
Available breakers: CB_MAIN, CB_BACKUP, CB_TIE
dnp3> trip CB_MAIN
✓ Trip command sent to breaker CB_MAIN
✓ Breaker CB_MAIN is now OPEN
dnp3> status
CB_MAIN: OPEN
CB_BACKUP: CLOSED
CB_TIE: OPEN
- Do not connect to real production equipment
- Always use in isolated/sandbox environments
Based on the research findings above, we've developed an enhanced training system that focuses on realistic SOC analyst workflows rather than command-line operations.
python setup_training_system.py
python src/enhanced_dnp3_soc_backend.py- ✅ Real training artifacts - CSV logs, JSON events, IOC feeds
- ✅ Professional workflows - Spreadsheet analysis, SIEM integration
- ✅ Attack scenarios - 6 different attack types with intensity control
- ✅ Guided exercises - Analysis worksheets with answer keys
See ENHANCED_SYSTEM.md for detailed documentation.
- Traffic analysis:
training_outputs/analysis_reports/*.csv - Security events:
training_outputs/security_logs/*.json - Threat hunting:
training_outputs/ioc_feeds/*.json - Training guides:
training_outputs/training_scenarios/*.md
MIT License
For network sensor capture and SOC analyst training:
# Quick start
cd traffic_generator
python3 dnp3_traffic_generator.py
# Capture traffic
sudo tcpdump -i eth0 -w dnp3_capture.pcap port 20000Perfect for:
- 🛡️ SOC analyst training on OT protocols
- 📊 Network sensor testing and validation
- 🔍 Protocol analysis and research
- 🏫 Educational demonstrations
Key Features:
- ✅ Real TCP/IP packets with DNP3 payload
- ✅ Raspberry Pi optimized
- ✅ YAML configuration
- ✅ Network sensor compatible
- ✅ No compilation required
See traffic_generator/README.md for detailed setup instructions.