Toolman 100% local

Port 123 — NTP

UDP well-known

What runs on port 123

Network Time Protocol — clock synchronisation.

NTP keeps clocks synchronised, which matters more than it sounds: TLS certificate validation, Kerberos authentication, TOTP two-factor codes and log correlation all fail in confusing ways when a clock is wrong by minutes. The protocol is UDP and the traffic is tiny, so the usual failure is a firewall silently dropping it and a clock that drifts for weeks before anyone connects the symptoms.

Security considerations

Another amplification vector. Disable the monlist command and do not run an open NTP server.

Checking whether something is listening

# Linux / macOS — what is bound to the port
sudo lsof -i :123
sudo ss -lntp | grep :123

# Windows
netstat -ano | findstr :123
Get-NetTCPConnection -LocalPort 123

# is it reachable from outside?
nc -zv example.com 123
curl -v telnet://example.com:123

Freeing the port

# find the process, then stop it
sudo lsof -ti :123 | xargs kill        # Linux / macOS
netstat -ano | findstr :123            # note the PID, then:
taskkill /PID <pid> /F                    # Windows

Should this port be open to the internet?

Usually not. Expose it only if a specific external client needs it, and restrict by source address where you can.

Opening or blocking port 123

Finding the port is usually the first half of the job. Start narrow — the second rule is there for services that genuinely serve the public, and most do not:

# ufw — Debian, Ubuntu
sudo ufw allow from 10.0.0.0/8 to any port 123 proto udp
sudo ufw allow 123/udp                   # only if it genuinely serves the public

# firewalld — RHEL, Fedora, CentOS
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/8 port port=123 protocol=udp accept'
sudo firewall-cmd --reload

# iptables, if you are still there
sudo iptables -A INPUT -p udp --dport 123 -s 10.0.0.0/8 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 123 -j DROP

# Windows
New-NetFirewallRule -DisplayName "NTP 123" -Direction Inbound -Protocol UDP -LocalPort 123 -RemoteAddress 10.0.0.0/8 -Action Allow

10.0.0.0/8 stands in for a private range — substitute your own. Note that a firewall rule does not undo a service bound to 0.0.0.0; it only stops packets reaching it, and a misconfigured or disabled firewall then exposes it immediately.

Quick reference

Port123
ProtocolUDP
ServiceNTP
RangeWell-known (0–1023) — binding requires root on Unix

Frequently asked questions

What is port 123 used for?

Network Time Protocol — clock synchronisation.

Is it safe to open port 123?

Another amplification vector. Disable the monlist command and do not run an open NTP server.

How do I check if port 123 is open?

Locally, sudo lsof -i :123 on macOS or Linux, or netstat -ano | findstr :123 on Windows. From outside, nc -zv host 123 tells you whether anything answers.

Why do I get "address already in use" on port 123?

Another process is bound to it — often a previous run of your own program that did not exit cleanly. Find it with lsof -ti :123 and stop it, or configure your application to use a different port.

Can I change the port this service uses?

Almost always yes, in the service's configuration. Moving off a default port reduces automated scan noise, but it is obfuscation rather than security — a real attacker scans all 65,535.

Other common ports

All port numbers