跳至內容

火星數據包

維基百科,自由的百科全書

火星數據包(英語: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更新。