跳转到内容

火星数据包

维基百科,自由的百科全书

火星数据包(英语:Martian packet)是指在公共互联网上出现的一种IP数据包,其源地址或目的地址属于互联网号码分配局(IANA)为特殊用途保留的地址范围,这些范围在RFC 1812附录B(火星地址过滤)中定义。在公共互联网上,这种数据包要么伪造了源地址,实际上未从其声称的地址发出,要么无法被正常传递。[1]RFC 1812第5.3.7节(火星地址过滤)中明确要求过滤这些数据包,即不应转发它们。

火星数据包通常出现在拒绝服务攻击中,攻击者通过伪造IP地址(即IP地址欺骗)来制造这类数据包。[2]此外,网络设备故障或主机配置错误也可能导致火星数据包的出现。[1]Linux系统中,火星数据包是指内核在某个网络接口上接收到的IP数据包,而根据路由表,该数据包的源IP地址本应在另一个接口上出现。[3][4]

“火星数据包”这一名称来源于“来自火星的数据包”,意指这些数据包似乎不属于地球,来源异常。[5]

IPv4和IPv6

[编辑]

无论是IPv4还是IPv6,火星数据包的源地址、目的地址或两者都属于特殊用途地址范围。[6]

过渡机制

[编辑]

6to4

[编辑]

6to4是一种IPv6转换技术,其中IPv6地址对源IPv4地址进行编码,以便每个IPv4 /32都有一个相应的、唯一的IPv6 /48前缀。因为6to4中继使用编码值来确定6to4隧道的终端站点,与IPv4火星相对应的6to4地址不可路由,不应出现在公共互联网上。

Teredo隧道

[编辑]

Teredo是另一种IPv6转换技术,它在IPv6地址中对源IPv4地址进行编码。然而,编码格式在IPv4客户端地址之前对Teredo服务器地址和隧道信息进行编码。因此,没有可定义的比2001:0::/32更具体的前缀集,用于具有火星终端站点地址的Teredo数据包。然而,可以通过将Teredo服务器IPv4地址设置为火星来伪造Teredo数据包。

参见

[编辑]

参考文献

[编辑]
  1. ^ 1.0 1.1 Baker, F.. IP Version 4路由器的要求. 1995年6月 [2021-08-18]. RFC 1812. 
  2. ^ Baker, F.; Savola, P.. 多宿网络的入口过滤. 2004年3月 [2021-08-18]. BCP 84. RFC 3704. 
  3. ^ 消息日志中显示的火星源错误. [2022-07-02]. 
  4. ^ Red Hat Enterprise Linux 5.2 - 内核:火星源消息. [2022-07-02]. (原始内容存档于2023-05-09). 
  5. ^ 术语文件:火星. [2010-12-25]. (原始内容存档于2010-12-17). 
  6. ^ M. Cotton; L. Vegoda; B. HabermanR. Bonica. . 特定IP地址注册表. IETF. 2013年4月. RFC 6890. RFC 8190更新。