File Transfer Protocol control channel. Data moves on a separate connection: port 20 in active mode or a negotiated high port in passive mode.
File Transfer Protocol control channel. Data moves on a separate connection: port 20 in active mode or a negotiated high port in passive mode.
Expose only to trusted sources. Plain FTP sends usernames and passwords in clear text. Prefer SFTP (over SSH, port 22) or FTPS. If you must run FTP, disable anonymous login and limit the passive port range in the firewall. Anonymous FTP servers are often found leaking files.
Registry dates for this port: last modified 2022-02-07.
sudo ss -tlnp 'sport = :21'sudo lsof -nP -i :21sudo netstat -tlnp | grep ':21 'netstat -ano | findstr :21Get-NetTCPConnection -LocalPort 21 -State Listen | Select LocalAddress,OwningProcessnc -vz -w 5 HOST 21Test-NetConnection HOST -Port 21Replace 203.0.113.10 with the address or network you trust. With ufw, make sure the default incoming policy is deny.
sudo ufw allow from 203.0.113.10 to any port 21 proto tcpsudo iptables -A INPUT -p tcp --dport 21 -s 203.0.113.10 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j DROPsudo nft add rule inet filter input ip saddr 203.0.113.10 tcp dport 21 accept
sudo nft add rule inet filter input tcp dport 21 dropNew-NetFirewallRule -DisplayName 'TCP 21 trusted' -Direction Inbound -Protocol TCP -LocalPort 21 -RemoteAddress 203.0.113.10 -Action AllowAll port numbers · Open port checker
Assignment data: IANA port number registry (public domain), retrieved 2026-11-10.