Port reference
Port 19 (UDP/TCP) – CharGEN
Character Generator — a legacy debugging service that emits a stream of characters in response to any input.
Quick facts
- Transport
- udp, tcp
- Category
- Well-known
- Risk level
- High
Frequently targeted — restrict exposure and harden it.
Default state
Disabled on modern systems. Historically enabled via inetd on Unix and as a Simple TCP/IP Service on older Windows.
Common attacks
- UDP amplification / reflection DDoS
- Resource exhaustion via paired echo (port 7) and chargen loops
Hardening
- Disable CharGEN entirely — it has no modern use
- Remove Simple TCP/IP Services on Windows and the chargen line from inetd/xinetd
- Block UDP/TCP 19 at the network edge
- Never expose chargen to untrusted networks
nmap snippet
nmap -sU -p19 --script chargen <target>Replace <target> with the host or range you're authorized to scan.
How to check if this port is open
ss -tulpn | grep :19
nmap -p 19 <target>netstat -ano | findstr :19
Test-NetConnection <host> -Port 19lsof -i :19
nmap -p 19 <target>How to block this port
sudo ufw deny 19/tcpsudo firewall-cmd --permanent --remove-port=19/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 19 -j DROPNew-NetFirewallRule -DisplayName "Block 19" -Direction Inbound -Protocol TCP -LocalPort 19 -Action BlockWhat runs on port 19?
Port 19 carries the Character Generator Protocol (CharGEN), defined in RFC 864
as a network debugging and measurement aid. On receiving any input it returns a
continuous stream of arbitrary characters (over TCP) or a packet of characters per
datagram (over UDP). It was once bundled with Unix inetd and as a Windows
Simple TCP/IP Service, but it has no legitimate use on modern networks.
Why it matters for security
CharGEN is dangerous purely because it still exists on forgotten hosts. The UDP variant answers any datagram with a far larger response, making it an ideal reflection and amplification vector: an attacker spoofs a victim's source address, sends tiny queries to many open chargen servers, and the responses flood the victim. Paired with the echo service on port 7, two open hosts can also be looped against each other to consume bandwidth and CPU.
How it's attacked
Attackers scan for UDP 19 and add open responders to amplification botnets. Spoofed queries reflect oversized replies at a target, contributing to volumetric DDoS. The classic chargen-echo ping-pong ties port 19 to port 7 in a self-sustaining traffic loop. Because the protocol requires no authentication, any reachable instance is immediately weaponizable.
Hardening checklist
There is no reason to run CharGEN today — disable it outright. On Windows,
remove the Simple TCP/IP Services feature; on Unix, delete the chargen entry from
inetd/xinetd and restart the daemon. Block UDP and TCP 19 at firewalls and edge
ACLs. Use the nmap snippet above to confirm chargen is closed on hosts you are
authorized to test.
Related ports
Frequently asked questions
- What is port 19 used for?
- Port 19 is the Character Generator (CharGEN) protocol, a 1980s debugging tool that replies to any packet with a stream of characters. It is obsolete and should be disabled.
- Why is CharGEN a DDoS risk?
- A small spoofed UDP request triggers a much larger reply, so open chargen servers are abused as reflectors/amplifiers to flood third-party victims.