Well-known · Cross-platform

9 Discard / Wake-on-LAN

TCP Yes
UDP Unofficial
SCTP Assigned
DCCP

What it is

Discard protocol sinks data; UDP/9 is also the conventional Wake-on-LAN magic-packet port.

When / why

WoL relies on UDP/9 to power on machines remotely across a LAN.

Protocol status detail

TransportStatusMeaning
TCP Yes Assigned by IANA and standardized, specified, or widely used on this port.
UDP Unofficial Not assigned by IANA, but standardized, specified, or widely used on this port.
SCTP Assigned Assigned by IANA, but not standardized, specified, or widely used on this port.
DCCP Not applicable for this transport.

Port range

Well-known (0–1023). System port for a core service. On Unix-like systems, binding it requires superuser privileges.

Browse all ports →

Firewall rules for port 9

Copy-ready inbound rules for the active transports. Replace every <source> placeholder with the specific host, subnet, or CIDR that should reach this port.

ufw

sudo ufw allow proto tcp from <source> to any port 9

Allow TCP 9 (Discard / Wake-on-LAN). Replace <source> with the network/host that should reach it.

sudo ufw allow proto udp from <source> to any port 9

Allow UDP 9 (Discard / Wake-on-LAN). Replace <source> with the network/host that should reach it.

firewalld

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<source>" port port="9" protocol="tcp" accept'

Allow TCP 9 (Discard / Wake-on-LAN) from <source>. Run 'firewall-cmd --reload' afterwards.

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<source>" port port="9" protocol="udp" accept'

Allow UDP 9 (Discard / Wake-on-LAN) from <source>. Run 'firewall-cmd --reload' afterwards.

nftables

nft add rule inet filter input ip saddr <source> tcp dport 9 accept

Allow TCP 9 (Discard / Wake-on-LAN). Assumes table 'inet filter' with an 'input' chain.

nft add rule inet filter input ip saddr <source> udp dport 9 accept

Allow UDP 9 (Discard / Wake-on-LAN). Assumes table 'inet filter' with an 'input' chain.

iptables

sudo iptables -A INPUT -p tcp -s <source> --dport 9 -j ACCEPT

Allow TCP 9 (Discard / Wake-on-LAN). Persist with iptables-save/netfilter-persistent.

sudo iptables -A INPUT -p udp -s <source> --dport 9 -j ACCEPT

Allow UDP 9 (Discard / Wake-on-LAN). Persist with iptables-save/netfilter-persistent.

Azure NSG

az network nsg rule create -g <resource-group> --nsg-name <nsg> -n Allow-discardwakeonlan-9 --priority 1000 --access Allow --direction Inbound --protocol "*" --source-address-prefixes <source> --destination-port-ranges 9

Inbound rule for 9 (Discard / Wake-on-LAN). Set <source> to a CIDR; lower priority number = higher precedence.

AWS Security Group

aws ec2 authorize-security-group-ingress --group-id <sg-id> --ip-permissions IpProtocol=tcp,FromPort=9,ToPort=9,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound TCP 9 (Discard / Wake-on-LAN). Replace <source-cidr> (e.g. 10.0.0.0/16).

aws ec2 authorize-security-group-ingress --group-id <sg-id> --ip-permissions IpProtocol=udp,FromPort=9,ToPort=9,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound UDP 9 (Discard / Wake-on-LAN). Replace <source-cidr> (e.g. 10.0.0.0/16).

GCP firewall

gcloud compute firewall-rules create allow-discardwakeonlan-9 --direction=INGRESS --action=ALLOW --rules=tcp:9,udp:9 --source-ranges=<source-cidr> --network=<network>

Ingress rule for 9 (Discard / Wake-on-LAN). Scope with --source-ranges and optionally --target-tags.

Windows netsh

netsh advfirewall firewall add rule name="Allow Discard / Wake-on-LAN 9/TCP" dir=in action=allow protocol=TCP localport=9 remoteip=<source>

Inbound TCP 9 (Discard / Wake-on-LAN). Set remoteip to a host/subnet; 'any' is discouraged.

netsh advfirewall firewall add rule name="Allow Discard / Wake-on-LAN 9/UDP" dir=in action=allow protocol=UDP localport=9 remoteip=<source>

Inbound UDP 9 (Discard / Wake-on-LAN). Set remoteip to a host/subnet; 'any' is discouraged.

Windows PowerShell

New-NetFirewallRule -DisplayName "Allow Discard / Wake-on-LAN 9/TCP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 9 -RemoteAddress <source>

Inbound TCP 9 (Discard / Wake-on-LAN). Replace <source> with a host or subnet.

New-NetFirewallRule -DisplayName "Allow Discard / Wake-on-LAN 9/UDP" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 9 -RemoteAddress <source>

Inbound UDP 9 (Discard / Wake-on-LAN). Replace <source> with a host or subnet.

Rules are generated only for transports marked active for this port. They default to an inbound allow with an explicit source placeholder — never any. Review direction, scope, and rule precedence before applying in production.