Well-known · Cross-platform

17 QOTD

TCP Yes
UDP Yes
SCTP
DCCP

What it is

Quote of the Day returns a short message.

When / why

Legacy; frequently abused for UDP amplification, so it is normally blocked.

Protocol status detail

TransportStatusMeaning
TCP Yes Assigned by IANA and standardized, specified, or widely used on this port.
UDP Yes Assigned by IANA and standardized, specified, or widely used on this port.
SCTP Not applicable for this transport.
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 17

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

⚠ UDP amplification risk — restrict or disable on internet-facing interfaces.

ufw

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

Allow TCP 17 (QOTD). Replace <source> with the network/host that should reach it.

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

Allow UDP 17 (QOTD). 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="17" protocol="tcp" accept'

Allow TCP 17 (QOTD) from <source>. Run 'firewall-cmd --reload' afterwards.

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

Allow UDP 17 (QOTD) from <source>. Run 'firewall-cmd --reload' afterwards.

nftables

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

Allow TCP 17 (QOTD). Assumes table 'inet filter' with an 'input' chain.

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

Allow UDP 17 (QOTD). Assumes table 'inet filter' with an 'input' chain.

iptables

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

Allow TCP 17 (QOTD). Persist with iptables-save/netfilter-persistent.

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

Allow UDP 17 (QOTD). Persist with iptables-save/netfilter-persistent.

Azure NSG

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

Inbound rule for 17 (QOTD). 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=17,ToPort=17,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound TCP 17 (QOTD). 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=17,ToPort=17,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound UDP 17 (QOTD). Replace <source-cidr> (e.g. 10.0.0.0/16).

GCP firewall

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

Ingress rule for 17 (QOTD). Scope with --source-ranges and optionally --target-tags.

Windows netsh

netsh advfirewall firewall add rule name="Allow QOTD 17/TCP" dir=in action=allow protocol=TCP localport=17 remoteip=<source>

Inbound TCP 17 (QOTD). Set remoteip to a host/subnet; 'any' is discouraged.

netsh advfirewall firewall add rule name="Allow QOTD 17/UDP" dir=in action=allow protocol=UDP localport=17 remoteip=<source>

Inbound UDP 17 (QOTD). Set remoteip to a host/subnet; 'any' is discouraged.

Windows PowerShell

New-NetFirewallRule -DisplayName "Allow QOTD 17/TCP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 17 -RemoteAddress <source>

Inbound TCP 17 (QOTD). Replace <source> with a host or subnet.

New-NetFirewallRule -DisplayName "Allow QOTD 17/UDP" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 17 -RemoteAddress <source>

Inbound UDP 17 (QOTD). 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.