CyberHunter
Local dataset, no network
// IoT & industrial (ICS)

Port 20000: DNP3

Distributed Network Protocol used by utilities (power, water).

20000

How DNP3 works

IoT & industrial (ICS)
controllerPLCOPERATEno authentication controllerPLCOPERATEno authentication

A controller sends commands to an industrial device on port 20000, which acts on the physical process. It travels in clear text: anyone on the path can read it.

Transport
TCP · UDP · SCTP
Exposure risk
9/10 critical if reachable from the Internet
Encryption
Clear textreadable on the network
IANA status
Assigned1 registered service
Range
Registered (1024-49151)
01 Security

Is port 20000 dangerous?

Common attacks and weaknesses

  • Unauthenticated commands to outstations without Secure Authentication.

How to secure it

  • Segment SCADA networks and use DNP3 Secure Authentication.
02 Registry

IANA registry entries for port 20000

ServicePortTransportDescriptionReferenceUpdated
dnp 20000 TCP, UDP, SCTP DNP - -

// source: IANA service name and port number registry

03 Check it

Which program uses port 20000, and is it reachable?

Linux

sudo ss -ltnup 'sport = :20000'      # process listening on 20000
sudo lsof -nP -i :20000

macOS

sudo lsof -nP -i :20000

Windows (PowerShell)

Get-NetTCPConnection -LocalPort 20000 -State Listen | Select LocalAddress, OwningProcess
Get-NetUDPEndpoint -LocalPort 20000
netstat -ano | findstr :20000

From another machine

nmap -p 20000 -sV <host>
sudo nmap -sU -p 20000 <host>
nc -zv <host> 20000

Block it in the firewall

sudo ufw deny 20000/tcp                                         # Linux (ufw)
New-NetFirewallRule -DisplayName "Block 20000" -Direction Inbound -LocalPort 20000 -Protocol TCP -Action Block  # Windows
04 FAQ
What is port 20000 used for?

Distributed Network Protocol used by utilities (power, water).

Is port 20000 TCP or UDP?

Port 20000 is registered for TCP and UDP and SCTP. In practice the service mostly uses TCP and UDP.

Is it safe to open port 20000?

It is rated 9/10 (critical) when exposed to the Internet. Unauthenticated commands to outstations without Secure Authentication. Segment SCADA networks and use DNP3 Secure Authentication.

How do I check if port 20000 is open?

On Linux run "ss -ltnup 'sport = :20000'", on macOS "lsof -nP -i :20000", and on Windows "netstat -ano | findstr :20000" to see the local process. From another machine, "nmap -p 20000 <host>" shows whether it is reachable.

05 Related

Latest vulnerability news

All news