關係如下:
eth (模擬出來的網絡卡) fd (控制用字元裝置)
系統通過eth?傳送出來的資料,將到達fd, 可以從fd把資料讀出來。
往fd寫入的資料將到達系統的eth? 該資料包被解析成一個數據鏈路的包,再上去往TCP/IP的處理流程走。
ssh 的網絡卡通過實現的如下:
server:ethserver:fdclient:fdclient:eth
其實這個跟偽終端很類似。有不明白的地方建議讀讀關於偽終端的介紹作為參考。
《FreeBSD設計與實現》裡面有對關於為終端比較深入的討論。
另外你提取的MAC資料可能是錯誤的,因為某些情況下,第一個位元組直接是AF_INET之類的,第二個位元組才是MAC的開始。具體的需要看man了。