A Martian packet is an IP packet seen on the public Internet that contains a source or destination address that is reserved for special-use by Internet Assigned Numbers Authority (IANA). On the public Internet, such a packet either has a spoofed source address, and it cannot actually originate as claimed, or the packet cannot be delivered. The requirement to do this is found in RFC 1812, Section 5.2.3 (Local Delivery Decision).[failed verification]
In Linux terminology, a martian packet is an IP packet received by the kernel on a specific interface, while routing tables indicate that the source IP is expected on another interface.
The name is derived from packet from Mars, meaning that packet seems to be not of this Earth.
IPv4 and IPv6
6to4 is an IPv6 transition technology where the IPv6 address encodes the originating IPv4 address such that every IPv4 /32 has a corresponding, unique IPv6 /48 prefix. Because 6to4 relays use the encoded value for determining the end site of the 6to4 tunnel, 6to4 addresses corresponding to IPv4 martians are not routable and should never appear on the public Internet.
Teredo is another IPv6 transition technology that encodes the originating IPv4 address in the IPv6 address. However, the encoding format encodes the Teredo server address and tunnel information before the IPv4 client address. Thus there is no definable set of prefixes more specific than 2001:0::/32 for Teredo packets with martian end-site addresses. It is, however, possible to spoof Teredo packets with the Teredo server IPv4 address set to a martian.
- Baker, F. (June 1995). Requirements for IP Version 4 Routers. doi:10.17487/RFC1812. RFC 1812. Retrieved 2021-08-18.
- Baker, F.; Savola, P. (March 2004). Ingress Filtering for Multihomed Networks. doi:10.17487/RFC3704. BCP 84. RFC 3704. Retrieved 2021-08-18.
- "Jargon File: martian".
- M. Cotton; L. Vegoda; B. Haberman (April 2013). R. Bonica (ed.). Special-Purpose IP Address Registries. IETF. doi:10.17487/RFC6890. RFC 6890. Updated by RFC 8190.