TCP/20000 (and UDP) — DNP3 (Distributed Network Protocol), an industrial protocol for SCADA in power, gas, water utilities. IEEE 1815 standard. Richer than Modbus — event-driven, unsolicited responses, time-sync. Secure Authentication v5 (IEC 62351) adds HMAC but no encryption — needs a TLS tunnel.
Below: details, example, related, FAQ.
Free online tool — ping & port checker: instant results, no signup.
# Scan DNP3
$ nmap -p 20000 --script dnp3-info 192.168.1.10
# Python (dnp3 library)
from pydnp3 import opendnp3
master = opendnp3.DNP3Manager(1)
channel = master.AddTCPClient("main", [opendnp3.IPEndpoint("10.0.1.1", 20000)])The Distributed Network Protocol (DNP3) operates over TCP and UDP on port 20000, facilitating communication in SCADA (Supervisory Control and Data Acquisition) systems. Proper configuration is essential for optimal performance and security. Below are key configuration aspects to consider:
By carefully configuring these aspects, you can minimize vulnerabilities and ensure efficient communication within your SCADA infrastructure.
When considering industrial protocols for SCADA systems, DNP3 and Modbus are among the most widely used. While both serve similar purposes, they have distinct features that can influence your choice. Here’s a comparative analysis:
Ultimately, the choice between DNP3 and Modbus will depend on your specific application requirements and the complexity of the SCADA system being implemented.
To effectively utilize DNP3 over port 20000, various commands and configurations can be employed to manage and monitor devices. Below are practical examples:
configure dnp3 master --ip 192.168.1.10 --port 20000 --secure-authenticationconfigure dnp3 outstation --ip 192.168.1.20 --port 20000 --event-buffer-size 100dnp3 test --master-ip 192.168.1.10 --outstation-ip 192.168.1.20 --port 20000These commands allow for the configuration and testing of DNP3 devices, ensuring that they can communicate effectively over port 20000. Regular testing and monitoring are advised to maintain system integrity and performance.
DNP3 — event-driven, with prioritization and time-sync. Utility-grade. Modbus — simple poll-only.
US NERC CIP — yes. Elsewhere depends on regulator. Always-on TLS is 2026 best practice.
opendnp3 (C++), pydnp3 (Python bindings), dnp3-rs (Rust, Stepfunc).
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.