Home docs NAT Check
Post

NAT Check

This server is used to detect NAT properties of the router in order to perform NAT traversal.

This server is at:

  • nncs1.app.nintendowifi.net (Wii U, primary server)
  • nncs2.app.nintendowifi.net (Wii U, secondary server)
  • nncs1-%.n.n.srv.nintendo.net (Switch, primary server)
  • nncs2-%.n.n.srv.nintendo.net (Switch, secondary server)

The protocol consists of simple UDP messages through port 10025 (primary port) or 10125 (secondary port). Messages are encoded in big endian byte order.

OffsetSizeDescription
0x04Message type
0x44External port number. This is filled in by the server.
0x84External IP address. This is filled in by the server.
0xC4NEX fills in its external IP address (after it has received a response to message type 1). The server fills in its own local IP address.

Message Types

TypeDescription
1The server replies from its regular IP address and port. NEX uses this to check if the NAT check server is reachable at all, to measure the time that it takes to receive a response, and to figure out its own external IP address and port.
2The server replies from a different IP address and port. NEX uses this to determine the NAT filtering mode.
3The server replies from its regular IP address but from a different port. NEX uses this to determine the NAT filtering mode.
4The server replies from its regular IP address and port. NEX uses this to determine the NAT mapping mode.
5The server replies from its regular IP address and port. NEX uses this to determine the NAT mapping mode.
TypeDescription
101The server replies from its regular IP address and port.
102The server replies from its regular IP address but from a different port.
103The server replies from its regular IP address and port.
Contents