IIoT Network Traffic - 29% Attacks [10K rows] #8d6c
Abstract
"Synthetic IIoT network traffic dataset for SCADA/ICS intrusion detection research. 10,000 labeled flow records, 16 features. Protocols: Modbus TCP, OPC UA, DNP3, MQTT, BACnet, EtherNet/IP. Attack rate: 29% covering MitM, Replay, False Data Injection, DoS, and Reconnaissance. Generated by IoTSyn v3.2. CC0 licensed."
Description
Overview
This dataset provides synthetic Industrial Internet of Things (IIoT) network traffic captured within a simulated SCADA/ICS environment. It reproduces communications across six Operational Technology (OT) protocols: Modbus TCP, OPC UA, DNP3, MQTT, BACnet, and EtherNet/IP. Traffic originates from heterogeneous ICS devices including PLCs, HMIs, RTUs, SCADA servers, Engineering Workstations, Historians, and simulated External attackers, representing a realistic industrial network topology with an internal subnet of 10.0.1.x/24.
The dataset contains 10,000 labeled network flow records distributed across 16 features. A controlled attack injection rate of 29% (approximately 2,900 malicious flows) simulates real-world threat scenarios targeting OT infrastructure, while the remaining 71% (approximately 7,100 flows) represents legitimate industrial communications. Each attack scenario follows a structured four-phase lifecycle: reconnaissance, escalation, peak, and cooldown, aligned with adversarial campaign models observed in ICS threat intelligence.
Dataset Statistics
- Total records: 10,000 labeled flow entries
- Features (columns): 16
- Normal traffic: approximately 7,100 records (71%)
- Malicious traffic: approximately 2,900 records (29%)
- Sampling interval: 10 seconds per record
- OT Protocols covered: Modbus TCP (port 502), OPC UA (port 4840), DNP3 (port 20000), MQTT (port 1883), BACnet (port 47808), EtherNet/IP (port 44818)
- Attack types: Man-in-the-Middle (MitM), Replay, False Data Injection, Denial of Service (DoS), Reconnaissance
- Device roles: PLC, HMI, RTU, SCADA, Engineering Workstation, Historian, External
- License: CC0 1.0 Universal (Public Domain)
Column Schema
| Column | Type | Description |
|---|---|---|
Timestamp | datetime | ISO 8601 formatted timestamp; 10-second sampling interval starting from simulation epoch (2026-04-23) |
Source_IP | string | IPv4 source address; internal ICS devices use the 10.0.1.x/24 subnet; external attackers originate from routable public IP addresses |
Dest_IP | string | IPv4 destination address; all target nodes reside within the 10.0.1.x/24 ICS network segment |
Source_Port | integer | Ephemeral TCP/UDP source port assigned by the originating host (range: 1024-65535) |
Dest_Port | integer | Destination port mapped to the target OT service: 502 (Modbus TCP), 4840 (OPC UA), 20000 (DNP3), 1883 (MQTT), 47808 (BACnet/IP), 44818 (EtherNet/IP) |
Protocol | categorical | OT communication protocol identifier; values: Modbus_TCP, OPC_UA, DNP3, MQTT, BACnet, EtherNet_IP |
Packet_Size | integer | Layer 4 payload size per packet in bytes; reflects protocol-specific message sizes and potential padding by attackers |
Connection_Duration | float | Session duration in seconds; abnormally short durations may indicate scanning or probing behavior characteristic of reconnaissance |
Packets_Sent | integer | Total number of packets transmitted within the flow session; elevated counts may signal flooding or DoS activity |
Bytes_Transferred | integer | Total bytes transferred per session; derived as Packet_Size multiplied by Packets_Sent |
Flow_Rate | float | Network throughput in bytes per second; computed as Bytes_Transferred divided by Connection_Duration; high variance is a key discriminating feature between normal and attack traffic |
Device_Role | categorical | Functional role of the source node within the ICS Purdue model hierarchy: PLC (field device), HMI (operator interface), RTU (remote terminal unit), SCADA (supervisory server), Historian (data archiver), Engineering_Workstation, External (off-network attacker) |
Function_Code | integer | Protocol-specific command code; for Modbus TCP, values 1-16 represent standard read/write operations (e.g., FC1=Read Coils, FC3=Read Holding Registers, FC15=Write Multiple Coils); value 0 is assigned to non-Modbus protocols where function codes are not applicable |
Attack_Type | categorical | Cyber threat category label; values: Normal (benign), MitM (Man-in-the-Middle), Replay, False_Data_Injection, DoS (Denial of Service), Reconnaissance |
Attack_Phase | categorical | Temporal stage within the attack lifecycle; values: none (normal traffic), recon (initial probing), escalation (foothold establishment), peak (maximum attack intensity), cooldown (withdrawal phase) |
Label | binary | Ground-truth binary classification target; values: Normal (benign flow) or Malicious (attack flow); primary target variable for supervised learning models |
Attack Taxonomy
- Man-in-the-Middle (MitM): The attacker intercepts and optionally alters OT protocol messages between ICS nodes. Simulated across OPC UA, DNP3, Modbus TCP, and MQTT sessions, targeting PLC-to-SCADA and HMI-to-PLC communication channels.
- Replay Attack: Previously captured legitimate OT commands are retransmitted to trigger unauthorized state changes in PLCs or RTUs. Detectable through sequence number anomalies and timing inconsistencies in stateful protocols.
- False Data Injection (FDI): Manipulated sensor readings or counterfeit control commands are injected into the SCADA data stream to mislead operators and automated safety systems, potentially causing incorrect physical process decisions.
- Denial of Service (DoS): High-frequency traffic is directed at ICS devices to exhaust processing capacity and disrupt the availability of critical control functions, particularly targeting PLCs and RTUs over Modbus TCP and OPC UA.
- Reconnaissance: Systematic low-volume scanning of the ICS network to enumerate active devices, open OT service ports, and supported function codes. Serves as the preparatory phase before active exploitation.
Attack Lifecycle Model
Each attack scenario in this dataset follows a structured four-phase progression consistent with observed adversarial campaigns against ICS environments:
- Recon: Low-intensity probing phase; the attacker maps network topology, identifies live hosts, and enumerates supported OT protocols and function codes
- Escalation: The attacker establishes an active foothold, increases interaction frequency with target devices, and prepares for the main attack phase
- Peak: Maximum attack intensity; highest observed packet rates, byte volumes, and flow rates; represents the primary window for detection
- Cooldown: Gradual reduction in malicious activity as the attacker withdraws, pivots to new targets, or awaits the next attack cycle
Normal Traffic Model
Legitimate traffic is generated using protocol-specific periodic polling patterns characteristic of industrial automation systems operating under standard process control conditions. OPC UA sessions use subscription-based data exchange with configurable publish intervals. Modbus TCP follows cyclic read/write request cycles against holding registers and coil banks. DNP3 implements unsolicited response messaging and integrity polls. MQTT uses publish/subscribe broker communication at regular telemetry intervals consistent with IIoT sensor reporting.
Use Cases
- Training and evaluation of Intrusion Detection Systems (IDS) for SCADA and ICS environments
- Benchmarking supervised classifiers including Random Forest, XGBoost, LSTM, GRU, and Transformer-based models for binary and multi-class attack detection
- OT protocol traffic analysis, feature engineering, and anomaly detection research
- Federated learning experiments for distributed and privacy-preserving ICS threat detection
- Industrial cybersecurity education and hands-on curriculum development
- Feature importance and explainability studies (e.g., SHAP, LIME) for network flow-based detection models
- Class imbalance benchmarking using SMOTE, ADASYN, or cost-sensitive learning techniques on a 71/29 split
Limitations
- Data is fully synthetic; real-world traffic may exhibit additional variability in timing jitter, TCP retransmissions, packet fragmentation, and vendor-specific protocol extensions not reproduced in this dataset
- Attack scenarios represent common OT threat vectors but do not model advanced persistent threats (APTs), firmware exploits, supply chain attacks, or zero-day vulnerabilities
- The 71%/29% class distribution introduces moderate imbalance; researchers are advised to apply appropriate resampling or threshold-tuning strategies before training classifiers
- External attacker IPs are randomly assigned from public address space and do not reflect real threat actor infrastructure or geolocation
Reproducibility
Seed: 165981527. Applying the same seed and generation parameters in IoTSyn will produce an identical dataset, ensuring full experimental reproducibility. Generated by IoTSyn v3.2.
Sample Data (60 rows · 16 columns)
| # | Timestamp | Source_IP | Dest_IP | Source_Port | Dest_Port | Protocol | Packet_Size | Connection_Duration | Packets_Sent | Bytes_Transferred | Flow_Rate | Device_Role | Function_Code | Attack_Type | Attack_Phase | Label |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-04-23 14:05:42 | 10.0.1.20 | 10.0.1.27 | 32838 | 4840 | OPC_UA | 189 | 0.23 | 2 | 378 | 1,653.40 | Engineering_Workstation | 0 | Normal | none | Normal |
| 2 | 2026-04-23 14:05:52 | 10.0.1.20 | 10.0.1.15 | 26414 | 4840 | OPC_UA | 359 | 0.29 | 4 | 1436 | 4,953.78 | Engineering_Workstation | 0 | Normal | none | Normal |
| 3 | 2026-04-23 14:06:02 | 5.152.244.244 | 10.0.1.25 | 43725 | 20000 | DNP3 | 296 | 0.59 | 20 | 5920 | 9,991.48 | External | 5 | MitM | recon | Malicious |
| 4 | 2026-04-23 14:06:12 | 5.152.244.244 | 10.0.1.16 | 36859 | 1883 | MQTT | 311 | 0.31 | 8 | 2488 | 8,165.27 | External | 0 | MitM | recon | Malicious |
| 5 | 2026-04-23 14:06:22 | 5.152.244.244 | 10.0.1.20 | 12447 | 4840 | OPC_UA | 359 | 0.16 | 15 | 5385 | 34,009.40 | External | 0 | MitM | recon | Malicious |
| 6 | 2026-04-23 14:06:32 | 5.152.244.244 | 10.0.1.12 | 25495 | 20000 | DNP3 | 330 | 0.34 | 3 | 990 | 2,886.25 | External | 1 | MitM | escalation | Malicious |
| 7 | 2026-04-23 14:06:42 | 5.152.244.244 | 10.0.1.26 | 55496 | 4840 | OPC_UA | 475 | 0.62 | 10 | 4750 | 7,609.32 | External | 0 | MitM | escalation | Malicious |
| 8 | 2026-04-23 14:06:52 | 5.152.244.244 | 10.0.1.11 | 63013 | 502 | Modbus_TCP | 414 | 0.91 | 20 | 8280 | 9,055.86 | External | 15 | MitM | escalation | Malicious |
| 9 | 2026-04-23 14:07:02 | 5.152.244.244 | 10.0.1.17 | 41821 | 1883 | MQTT | 214 | 0.78 | 11 | 2354 | 3,009.12 | External | 0 | MitM | peak | Malicious |
| 10 | 2026-04-23 14:07:12 | 5.152.244.244 | 10.0.1.24 | 14254 | 1883 | MQTT | 334 | 0.23 | 16 | 5344 | 22,998.19 | External | 0 | MitM | peak | Malicious |
Showing first 10 of 60 sample rows
Data Visualization Interactive
Numeric Trends
Category Distribution
Cite This Dataset
IoTSyn Generated (2026). IIoT Network Traffic - 29% Attacks [10K rows] #8d6c. [Dataset]. IoTSyn Generated. https://iotsyn.com/view.php?uid=iotsyn_69f361b6161268.42724765
Source: IoTSyn Generated (2026)
Indexed by IoTDataset.com on Apr 30, 2026
Ready to Start Your Research?
Download this dataset directly from the official repository and start building your next breakthrough project.