Toolman 100% local

Port 4200 — Angular dev server

TCP registered

What runs on port 4200

The default port for `ng serve`.

The Angular CLI development server. Like 3000 and 5173 it is a convention rather than an assignment, chosen to be memorable and unprivileged. It serves an unminified build with source maps and a live-reload websocket, none of which should ever face the internet — the development server is not hardened and is not intended to be.

Security considerations

Development only.

Checking whether something is listening

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

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

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

Freeing the port

# find the process, then stop it
sudo lsof -ti :4200 | xargs kill        # Linux / macOS
netstat -ano | findstr :4200            # 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 4200

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 4200 proto tcp
sudo ufw allow 4200/tcp                   # 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=4200 protocol=tcp accept'
sudo firewall-cmd --reload

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

# Windows
New-NetFirewallRule -DisplayName "Angular dev server 4200" -Direction Inbound -Protocol TCP -LocalPort 4200 -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

Port4200
ProtocolTCP
ServiceAngular dev server
RangeRegistered (1024–49151) — any user process may bind

Frequently asked questions

What is port 4200 used for?

The default port for `ng serve`.

Is it safe to open port 4200?

Development only.

How do I check if port 4200 is open?

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

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

Another process is bound to it — often a previous run of your own program that did not exit cleanly. Find it with lsof -ti :4200 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