TCP/20000 (и UDP) — DNP3 (Distributed Network Protocol), промышленный протокол для SCADA в энергетике, газоснабжении, водоканалах. Стандарт IEEE 1815. Более сложный чем Modbus — event-driven, unsolicited responses, time-sync. Secure Authentication v5 (IEC 62351) добавляет HMAC, но без encryption — нужен TLS tunnel.
Ниже: подробности, пример, связанные, FAQ.
Бесплатный онлайн-инструмент — проверка ping и портов: результат мгновенно, без регистрации.
# Scan DNP3
$ nmap -p 20000 --script dnp3-info 192.168.1.10
# Python (using dnp3 library)
from pydnp3 import opendnp3
master = opendnp3.DNP3Manager(1)
channel = master.AddTCPClient("main", [opendnp3.IPEndpoint("10.0.1.1", 20000)])DNP3 (Distributed Network Protocol) применяется в различных отраслях, включая энергетику, газоснабжение и водоканалы. Этот протокол обеспечивает связь между устройствами и системами управления, позволяя им обмениваться данными в реальном времени.
В энергетике DNP3 используется для мониторинга и управления электростанциями, подстанциями и линиями электропередач. Это позволяет операторам быстро реагировать на изменения в сети и предотвращать аварийные ситуации.
В газоснабжении DNP3 применяется для контроля за газопроводами, компрессорными станциями и другими объектами. Это обеспечивает надёжную и безопасную работу системы газоснабжения.
В водоканалах DNP3 используется для управления насосными станциями, резервуарами и другими элементами системы водоснабжения. Это помогает оптимизировать работу системы и обеспечить бесперебойное водоснабжение.
Кроме того, DNP3 может использоваться в других отраслях, где требуется надёжная и безопасная связь между устройствами. Например, в транспортной инфраструктуре, где протокол может применяться для управления железнодорожными и автомобильными системами.
Для настройки DNP3 на сервере необходимо выполнить следующие шаги:
Шаг 1: установить программное обеспечение, поддерживающее DNP3.
Шаг 2: настроить параметры сети, включая IP-адрес и порт (например, TCP/20000).
Шаг 3: настроить параметры безопасности, включая аутентификацию и шифрование.
Пример конфигурации:
server {
listen 20000;
server_name example.com;
location / {
proxy_pass http://dnp3-server;
}
}
Этот пример показывает, как настроить сервер для прослушивания порта 20000 и перенаправления запросов на сервер DNP3.
DNP3 отличается от других промышленных протоколов, таких как Modbus, своей сложностью и функциональностью.
Modbus является более простым протоколом, который используется для обмена данными между устройствами в промышленных сетях. Он не поддерживает такие функции, как event-driven обработка и unsolicited responses.
DNP3, с другой стороны, обеспечивает более сложные возможности, такие как синхронизация времени и поддержка event-driven обработки. Это делает его более подходящим для использования в сложных системах управления.
Кроме того, DNP3 поддерживает Secure Authentication v5 (IEC 62351), которая добавляет HMAC для аутентификации, но не обеспечивает шифрование. Для обеспечения безопасности данных при использовании DNP3 рекомендуется использовать TLS-туннель.
Другие протоколы, такие как IEC 60870-5, также могут использоваться в промышленных сетях, но они имеют свои особенности и ограничения. Например, IEC 60870-5 не поддерживает event-driven обработку и может быть менее подходящим для некоторых приложений.
DNP3 — event-driven, с приоритизацией и time-sync. Для utility-grade. Modbus — простой poll-only.
В US NERC CIP — yes. В РФ — зависит от регулятора. Always-on TLS — лучшая практика 2026.
opendnp3 (c++), pydnp3 (python bindings), dnp3-rs (Rust, Stepfunc).
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.