TCP/IP中鏈路層的附加數據(Trailer數據)和作用


1.TCP/IP中鏈路層的附加數據是什么

在用wireshark打開報文時,鏈路層顯示的Trailer數據就是附加數據,如圖

 

2.如何產生

1.例如以太網自動對小於64字節大小的報文進行填充(未實驗)。

2.使用鏈路層套接字寫數據時,實際數據大小 > (ip頭標示報文大小 + 鏈路層頭部)

 

3.生存周期

測試:使用套接字發送帶Trailerr數據的報文,看收端是否可以收到。

 

IP層SOCK_RAW套接字

1.內網 可以攜帶Trailerr數據

2.外網 丟包(路由器所為?)

鏈路層SOCK_PACKET套接字

1.內網 截斷Trailer數據(交換機所為?)

2.外網 截斷Trailer數據(交換機所為?)

 

4.作用

假設二層交換機下有2個設備A和B

1.增添了一條操作系統與外界通信的額外通道

試想下,怎么在協議不支持的情況下從A設備處獲得B設備的系統時間?

在B設備向A設備發數據時(任何協議),把自己的系統時間寫到附加數據中,A使用鏈路層套接字(比如tcpdump使用的套接字)獲取鏈路層數據就可以對

附加數據做解析。

 

2.控制上層應用程序的行為

應用程序的行為被收到的報文所影響,應用程序收報文的大致流程如下:

網卡收到報文->內核處理->TCP/IP協議棧處理->上層應用

可見內核處理可以對報文進行篡改(例如iptables的mangle),來”欺騙“應用程序。

例如上層應用只對特定ip進行服務,比如1.1.1.1,如果是來自2.2.2.2的請求會被拒絕掉,不改變上層應用

行為的前提下,可以在內核處對報文進行修改,把2.2.2.2修改為1.1.1.1(當然,應用程序發包時內核也要把1.1.1.1修改為2.2.2.2)

而附加數據的作用是為這種報文修改提供策略或依據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM