Free UDP Tool

UDP Port Test

UDP testing is fundamentally different from TCP — there is no handshake, no guaranteed response, and no definitive "port open" signal from a silent server. This tool uses protocol-native tests to verify real UDP services: a live DNS query on port 53, an NTP time request on port 123, QUIC/HTTP3 detection on port 443, and connectivity probes for VPN and VoIP ports. Each test uses the actual protocol to confirm the service is working — not just that the port exists.

Live DNS query test NTP time sync test QUIC / HTTP3 detection VPN port probe VoIP / SIP test Always free
Network tool
Enable JavaScript to run lookups and interactive features on this page.

Hero, guides, and sidebar links below work without JavaScript. The interactive checker needs JavaScript enabled in your browser.

Why UDP Testing Is Different from TCP

UDP (User Datagram Protocol) is connectionless — there is no handshake, no acknowledgement, and no guaranteed delivery. When you send a UDP packet to a port, one of three things happens: the server receives it and sends a response (port open, service responding), the server receives it but doesn't respond (by design — some protocols don't respond to unsolicited packets), or the server's OS sends an ICMP "port unreachable" message (port closed). The critical problem for testing: silence is ambiguous. No response could mean the port is open but the server chose not to reply, the firewall dropped the packet, the packet was lost in transit, or the host is unreachable.

UDP port testing requires protocol-native tests because UDP has no handshake or guaranteed response like TCP

Unlike TCP's definitive SYN/SYN-ACK handshake, UDP's connectionless nature means testing requires sending valid protocol messages and waiting for protocol-specific responses — raw port probes are inherently ambiguous

TCP vs UDP — Fundamental Differences

PropertyTCPUDP
ConnectionConnection-oriented (3-way handshake)Connectionless — no handshake
ReliabilityGuaranteed delivery, retransmission on lossBest-effort, no retransmission
OrderPackets delivered in orderPackets may arrive out of order
Error checkingChecksums + acknowledgementsChecksum only (no ack)
SpeedSlower — overhead of connection setupFaster — no connection overhead
Port testingDefinitive — SYN-ACK=open, RST=closedAmbiguous — silence could mean open, filtered, or service-design
Typical useHTTP, HTTPS, SSH, databases, emailDNS, NTP, DHCP, VPNs, VoIP, gaming, video streaming, QUIC/HTTP3
Header size20 bytes minimum8 bytes — 60% smaller overhead
Flow controlYes — sliding windowNo
When to useReliability matters (web, APIs, file transfer)Speed matters, some loss acceptable (streaming, gaming, VPN, DNS)

The UDP Port Testing Problem — nmap's Solution

Because silence is ambiguous in UDP, nmap developed several techniques to distinguish between open and filtered UDP ports. Unlike TCP where nmap's SYN scan takes milliseconds, UDP scanning is slow and unreliable — nmap marks a port as open|filtered when it receives no response, because it genuinely cannot tell which it is:

# nmap UDP scan (requires root — raw packet injection):
sudo nmap -sU -p 53,123,161,500 8.8.8.8

# nmap UDP scan output states:
open → Response received (service replied with protocol data)
closed → ICMP port unreachable received (OS explicitly refused)
filtered → ICMP filtered/admin prohibited received
open|filtered → No response — could be either open or filtered

# Scan with version detection (sends protocol-specific probes):
sudo nmap -sU -sV -p 53,123,161,500,1194,51820 target.com

# Version detection sends the right payload for each service:
Port 53 → DNS query for version.bind
Port 123 → NTP version query
Port 161 → SNMP GetRequest
Port 500 → IKE (IPSec) probe
Port 1194 → OpenVPN probe

UDP Protocols — Complete Port Reference

Click any row to test that service:

UDP DDoS Amplification — How Open UDP Ports Become Weapons

UDP's connectionless nature makes it ideal for Distributed Denial-of-Service (DDoS) amplification attacks. An attacker sends a small spoofed UDP packet to a server (spoofing the victim's IP as the source). The server replies with a much larger response — to the victim's IP. The amplification factor is the ratio of response size to request size.

Protocol / PortAmplification FactorMax Attack SizeHow to Mitigate
Memcached / 1121151,000×1.7 Tbps (GitHub 2018, largest ever)Disable UDP completely: -U 0 in memcached startup. Firewall UDP/11211.
NTP / 123556×400 Gbps+ attacks recordedDisable monlist: noquery in ntp.conf. Restrict to known clients.
DNS / 5354×Most common amplification vectorDisable open recursion. Only allow queries from your own clients.
SSDP / 190070×Widely abused from IoT devicesBlock UDP/1900 on perimeter. Disable UPnP on routers.
LDAP (CLDAP) / 38970×Significant enterprise impactBlock UDP/389 at perimeter. LDAP should be internal only.
CharGen / 19358×Legacy protocol, largely patchedDisable CharGen service — it has no legitimate modern use.
QOTD / 17140×Legacy amplification vectorDisable Quote of the Day service — no modern use.
RIPv1 / 520131×Legacy routing protocolDisable RIPv1. Use RIPv2 with authentication or OSPF.
SNMP v2 / 161650×Enterprise network riskUse SNMPv3 with auth. Restrict to monitoring hosts. Change community string.
TFTP / 69Up to 60×Device provisioning environmentsRestrict to provisioning VLANs only. Never internet-facing.

How to Protect Your UDP Services from Being Used in Amplification

# NTP — disable monlist (the amplification vector):
# /etc/ntp.conf
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
disable monitor # Disables monlist command (CVE-2013-5211)

# DNS — disable open recursion (restrict to own clients):
# /etc/named.conf (BIND)
options {
recursion yes;
allow-recursion { 192.168.0.0/16; 10.0.0.0/8; localhost; };
allow-query { any; }; # Can answer authoritative queries for own zones
};

# Memcached — completely disable UDP:
memcached -U 0 # -U 0 disables UDP listener entirely
# Or in systemd service file:
ExecStart=/usr/bin/memcached -U 0 -m 512 -c 1024

# iptables — rate-limit UDP to block amplification:
iptables -A INPUT -p udp --dport 53 -m limit --limit 100/s --limit-burst 200 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j DROP

QUIC and HTTP/3 — UDP Takes Over the Web

QUIC (Quick UDP Internet Connections) is a transport protocol built on UDP that replaces TCP+TLS for HTTP/3. Google developed QUIC internally around 2012 before it was standardised as RFC 9000 in 2021. As of 2024, over 60% of Google's traffic uses QUIC, and HTTP/3 is supported by Chrome, Firefox, Safari, and Edge. QUIC runs on UDP/443 alongside HTTPS TCP/443.

Why QUIC Uses UDP Instead of TCP

TCP was designed in the 1970s and has several fundamental limitations that QUIC solves:

Problem in TCPQUIC SolutionBenefit
Connection setup: 1–2 round trips (SYN, TLS handshake)0-RTT or 1-RTT connection using combined TLS 1.3Faster page loads — 0-RTT reconnects to known servers instantly
Head-of-line blocking: one lost packet stalls the entire connectionIndependent stream multiplexing — streams don't block each otherNo page stalls from packet loss — critical on mobile networks
IP mobility: connection breaks when IP changes (Wi-Fi to 4G)Connection ID-based — survives IP change without reconnectingSeamless handoff between Wi-Fi and mobile data
Middlebox ossification: TCP headers are visible to firewallsEncrypted headers — only source/dest IP visible to middleboxesHarder to intercept, throttle, or manipulate
Congestion control: fixed in kernel, slow to updateCongestion control in userspace, per-connection tunableFaster improvements to performance algorithms
# Check if a server supports QUIC/HTTP3:
curl --http3 https://www.google.com -I 2>/dev/null | head -5
# HTTP/3 200

# Look for Alt-Svc header announcing QUIC support:
curl -I https://www.youtube.com 2>/dev/null | grep -i alt-svc
# alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
# h3=":443" means HTTP/3 (QUIC) available on port 443
# ma=2592000 = max-age in seconds (30 days)

# Chrome/Firefox — check if QUIC is being used:
Open DevTools → Network tab → Protocol column
h3 = HTTP/3 (QUIC) h2 = HTTP/2 (TCP) http/1.1 = HTTP/1.1 (TCP)

# If ISP blocks UDP/443 (preventing QUIC):
Chrome falls back to HTTP/2 over TCP automatically
Jio and some Indian ISPs have blocked UDP/443 on certain networks

WireGuard — Why It Tests as Filtered

WireGuard has a distinctive security property: it does not respond to unauthenticated packets at all. Unlike OpenVPN which sends an error response, WireGuard silently drops any packet that doesn't include a valid cryptographic handshake. This means a port probe to WireGuard's port (default 51820) gets no response — making it appear "filtered" even when WireGuard is running correctly. The only way to confirm WireGuard is working is to attempt an actual authenticated connection with a valid private key and peer configuration.

# Test WireGuard from command line (with valid config):
sudo wg-quick up wg0 # Bring up the interface
sudo wg show # Show handshake status
ping 10.0.0.1 # Ping the WireGuard peer

# Check WireGuard handshake (last-handshake-time updates when working):
sudo wg show wg0 latest-handshakes
# 0 seconds ago = active connection
# Never = no handshake occurred — connection problem

# Verify WireGuard is listening on the server:
sudo ss -ulnp | grep 51820
# UNCONN 0 0 0.0.0.0:51820 0.0.0.0:* users:(("wireguard",pid=...))

VoIP and SIP — UDP Port Testing for Voice Networks

VoIP (Voice over IP) systems use UDP for both signalling (SIP) and media (RTP). Understanding the ports involved is essential for troubleshooting one-way audio, call drops, and registration failures:

Port / RangeProtocolPurposeCommon Issue
5060SIP (UDP/TCP)Call signalling — REGISTER, INVITE, BYE messagesBlocked by firewall → phone can't register with PBX. SIP ALG on router causes registration loops.
5061SIPS (TLS)Encrypted SIP signallingCertificate mismatch → TLS handshake failure
16384–32767RTP (UDP)Audio media streams (voice packets)Blocked → one-way audio (can hear but not be heard, or vice versa). Most common VoIP issue.
3478STUN (UDP)NAT traversal — discovers public IP for SIP/RTPBlocked → calls fail to connect when behind NAT
3478TURN (UDP/TCP)Media relay when STUN NAT traversal failsBlocked → WebRTC calls fail with no fallback

Why VoIP Has One-Way Audio — The #1 VoIP Problem

One-way audio (you can hear the remote party but they can't hear you, or vice versa) is almost always a NAT or firewall problem affecting RTP media ports. The SIP signalling may complete successfully (call connects) but the RTP media stream is blocked or misrouted:

# Why one-way audio happens:
1. SIP INVITE sent → call connects (SIP port 5060 is open)
2. SDP in INVITE contains private IP for RTP: 192.168.1.100:16384
3. Remote party tries to send audio to 192.168.1.100 (private IP)
4. Private IP unreachable from internet → one-way audio

# Solutions:
1. Enable STUN on SIP client to discover public IP
2. Disable SIP ALG on router (causes NAT table corruption)
3. Configure SIP proxy/PBX to fix RTP IP in SDP (media proxy)
4. Forward RTP port range on router: 16384-32767 UDP

# Asterisk/FreePBX — check RTP ports in /etc/asterisk/rtp.conf:
rtpstart=16384
rtpend=32767
stunaddr=stun.l.google.com:19302

DNS Port 53 — UDP vs TCP and Modern Alternatives

DNS historically used UDP exclusively because it was fast and DNS responses fit in 512 bytes (the UDP packet limit at the time). Modern DNS has evolved significantly:

DNS ProtocolPort & TransportEncryptionUse Case & Support
Classic DNS53 UDP + TCPNone — plaintextDefault everywhere. ISPs can see, log, and manipulate your queries. Fast but no privacy.
DNS over TLS (DoT)853 TCPTLS 1.2+Android Private DNS, systemd-resolved, Unbound. Encrypted but DoT traffic is identifiable (port 853).
DNS over HTTPS (DoH)443 TCP/UDPTLS 1.2+ (HTTPS)Chrome, Firefox, Edge, Brave built-in. Indistinguishable from HTTPS — ISPs cannot selectively block. Default in Firefox since 2019.
DNS over QUIC (DoQ)853 UDPQUIC (TLS 1.3)Emerging — AdGuard, Cloudflare (1.1.1.1). Fastest encrypted DNS. RFC 9250 (2022).
DNSCrypt443 or customX25519+XSalsa20DNSCrypt-proxy clients. Strong authentication prevents man-in-the-middle attacks.

ISP DNS Blocking in India — How to Test and Bypass

Indian ISPs including Jio, Airtel, and BSNL implement DNS-based content blocking ordered by Indian courts. They intercept DNS queries to their own resolvers and return NXDOMAIN or a block page IP for blocked domains. Testing with alternative DNS resolvers reveals whether content is actually unavailable or merely DNS-blocked:

# Test if a domain is ISP-blocked via DNS:
nslookup blocked-domain.com # Uses ISP DNS → may return NXDOMAIN
nslookup blocked-domain.com 8.8.8.8 # Uses Google DNS → real answer
nslookup blocked-domain.com 1.1.1.1 # Uses Cloudflare DNS

# If ISP returns block page IP but Google/Cloudflare returns real IP:
→ Domain is DNS-blocked by ISP, not actually down

# Jio DNS resolver (to check what Jio users see):
nslookup domain.com 121.242.190.104 # Jio primary DNS
nslookup domain.com 121.242.190.105 # Jio secondary DNS

# Airtel DNS:
nslookup domain.com 61.16.0.01 # Airtel DNS

# Configure DoH in Firefox to bypass ISP DNS blocking:
Settings → Privacy & Security → DNS over HTTPS → Cloudflare or Custom
Custom: https://dns.google/dns-query (or https://1.1.1.1/dns-query)

Who Uses UDP Port Testing — Real Scenarios

VPN Server Setup
After configuring WireGuard or OpenVPN, verify the VPN port is reachable. WireGuard on 51820 will appear filtered to port probes — test by attempting a real authenticated connection instead.
DNS Server Validation
After configuring a self-hosted DNS resolver (BIND, Unbound, PowerDNS), verify it correctly resolves queries, is not an open resolver (accepting queries from any IP), and is not vulnerable to amplification attacks.
VoIP Troubleshooting
Diagnose one-way audio by verifying RTP ports 16384–32767 are not blocked by the firewall or router. Test that STUN server port 3478 is reachable for NAT traversal. Check whether SIP ALG is causing issues.
QUIC / HTTP3 Verification
Verify that your CDN or server announces HTTP/3 support via the Alt-Svc header and that UDP/443 is accessible to clients. Some corporate firewalls block UDP/443, forcing HTTP/2 fallback and slower load times.
DDoS Amplification Audit
Verify that your NTP, DNS, Memcached, and SNMP services cannot be abused for amplification attacks. An open NTP server with monlist enabled provides 556× amplification to attackers.
Gaming NAT Type Fix
Xbox, PlayStation, and Steam require specific UDP ports open for peer-to-peer multiplayer. "Strict NAT" or "NAT Type 3" means these UDP ports are blocked — forward them in your router to achieve Open NAT.
NTP Sync Verification
Verify that NTP servers are reachable and responding correctly. Time synchronisation is critical for Kerberos authentication (AD environments fail if clocks differ by more than 5 minutes), TLS certificate validation, and log correlation.
Corporate Firewall Testing
Test whether corporate firewalls are blocking UDP services needed for remote work: WireGuard VPN (51820), QUIC/HTTP3 (443 UDP), video conferencing (Zoom 8801/8802, Teams 3478–3481), and VoIP (5060, 16384–32767).

Frequently Asked Questions — UDP Port Test

Why does nmap show UDP ports as "open|filtered"?

nmap marks a UDP port as open|filtered when it receives no response to its probe — which is ambiguous. Silence could mean the port is open (service doesn't reply to unexpected packets), the packet was dropped by a firewall (filtered), or the packet was lost in transit. nmap uses protocol-specific probes to resolve this: if it knows the protocol on a given port (e.g. DNS on 53), it sends a valid protocol request. If that gets a real DNS response, the port is definitively "open". Without a protocol-specific probe, UDP ports remain ambiguous. Use sudo nmap -sU -sV -p <ports> target for the most accurate UDP scan.

Why can't browsers send raw UDP packets for testing?

Web browsers run JavaScript in a sandboxed environment that cannot create raw network sockets. JavaScript's networking is limited to: HTTP/HTTPS fetch requests, WebSockets (TCP-based), and WebRTC (which can use UDP but only through the WebRTC API, not arbitrary UDP). This is a deliberate security boundary — raw socket access would let any website perform port scanning, send spoofed packets, or participate in DDoS attacks. This is why browser-based UDP testing must use indirect methods: DNS tests use DNS-over-HTTPS (HTTP), NTP tests use HTTP time APIs, and WireGuard cannot be tested at all from a browser. For true UDP testing use nmap, netcat (nc -u), or dig.

My VoIP calls connect but have one-way audio — which UDP ports to check?

One-way audio means SIP signalling (port 5060) is working but RTP media (UDP 16384–32767) is blocked or misconfigured. Check: (1) Your firewall/router is forwarding UDP 16384–32767 to the SIP device or PBX. (2) SIP ALG is disabled on your router — SIP ALG (Application Layer Gateway) modifies SIP/SDP packets and often breaks NAT traversal, causing private IPs to appear in the SDP instead of the public IP. (3) Your PBX/SIP proxy is configured with STUN or a public IP for the SDP media line. (4) Your firewall stateful inspection is treating UDP RTP as established flows. The most common fix: disable SIP ALG and configure STUN.

How do I test if my DNS server is an open resolver (vulnerable to amplification)?

An open resolver answers DNS queries from any IP, not just your own clients. To test: dig @your-dns-server-ip google.com — if it returns an answer from a machine that should only serve your internal network, it's an open resolver and can be abused for DNS amplification attacks. Fix in BIND: set allow-recursion { your-network; }; in named.conf. Fix in Unbound: set access-control: 192.168.0.0/16 allow. Fix at firewall: block port 53 UDP/TCP inbound from all IPs except your clients. You can also test your server at openresolver.com or with the OpenResolver Project.

Why is QUIC on UDP/443 blocked by some corporate firewalls?

Corporate firewalls and network inspection appliances are designed around TCP. UDP/443 traffic carrying QUIC is encrypted and looks like random data to a DPI (Deep Packet Inspection) firewall — it cannot inspect the contents. Some enterprise firewalls block UDP/443 to force all HTTPS traffic over TCP/443 where it can be inspected via SSL inspection proxies. The result: QUIC connections fail and browsers fall back to HTTP/2 over TCP. In highly controlled corporate environments and some government networks in India, UDP/443 may be blocked as policy. Servers can detect this using the Alt-Svc and Accept-CH headers.

What is the difference between STUN and TURN for NAT traversal?

STUN (Session Traversal Utilities for NAT) is a discovery protocol — it helps a device behind NAT discover its public IP and port mapping. The STUN server on port 3478 UDP simply reflects the source IP and port back to the client. This works for most NAT types (full cone, restricted cone) but fails with symmetric NAT (used by many corporate firewalls). TURN (Traversal Using Relays around NAT) is a relay server — when STUN fails, media is relayed through the TURN server. TURN always works but adds latency and server bandwidth cost. WebRTC uses ICE (Interactive Connectivity Establishment) to try direct connection first (no STUN/TURN), then STUN, then TURN as fallback.

How is WireGuard different from OpenVPN in terms of UDP port behaviour?

The critical difference is how they handle unauthenticated connections. OpenVPN sends an error response to any connection attempt — so a port probe can confirm OpenVPN is running on that port. WireGuard silently drops all unauthenticated packets and never responds — making it completely invisible to port scanners. This is a deliberate security design called "stealth mode" — an attacker cannot confirm WireGuard is running, cannot fingerprint the VPN software, and cannot begin any attack without valid credentials. The downside: you cannot verify WireGuard is working from a port test — you must attempt an actual authenticated VPN connection.

Related Tools

Advertisement