這次封包分析中會使用mint虛擬機作為範例
- 首先需要打開wireshark開始擷取enp0s3 NIC的封包。
- 接著重作一次之前所做的網路探測活動
- 然後可在filter欄位輸入arp來過濾封包類型
接著我們就可開始進行封包結構的分析了
ARP封包結構
我們可以點擊一個APR封包來查看它的結構。
可以看到有三層結構分別是:
- Frame:這一層包含了封包的物理層細節,如封包的長度和捕獲時間。
- Ethernet II:這一層包含了乙太網路的細節,如源MAC地址和目標MAC地址。
- Address Resolution Protocol (request/reply):這一層包含了ARP的細節,如操作類型(請求或回應)、源IP地址、源MAC地址、目標IP地址和目標MAC地址。
內容分析
用詢問IP為10.73.29.3的這個封包為例可看到,他具有以下內容
Frame
- Interface id: 這個封包是在名為enp0s3的網路介面卡上捕獲的。
- Encapsulation type: 封包的封裝類型是乙太網路(Ethernet),這是最常見的網路封裝類型。
- Arrival Time: 封包到達的時間是2024年4月14日,18:45:01 CST。
- Epoch Time: 封包到達的時間,以自1970年1月1日00:00:00 UTC開始的秒數表示,這是一種常見的時間表示方式。
- Time delta from previous captured frame: 與前一個捕獲的封包相比,時間差為0.000268130秒。
- Time since reference or first frame: 從參考點或第一個封包開始,已經過去了128.980667837秒。
- Frame Number: 這是第19個封包。
- Frame Length and Capture Length: 封包的長度為42字節(336位元)。
- Frame is marked and Frame is ignored: 這個封包沒有被標記,也沒有被忽略。
- Protocols in frame: 這個封包包含了乙太網路(eth)、乙太網路類型(ethertype)和地址解析協議(arp)這幾種協議。
Ethernet II
- Destination: 目標地址是廣播地址(ff:ff:ff:ff:ff:ff)。這表示該封包是發送給網路上所有設備的。
- LG bit: Locally administered address bit被設置為1,這表示該地址不是出廠默認地址,而是在本地管理。
- IG bit: Group address bit被設置為1,這表示該地址是一個組地址,用於多播或廣播。
- Source: 源地址是PcsCompu_b6:ad:d7(08:00:27:b6:ad:d7)。這是發送該封包的設備的MAC地址。
- LG bit: Globally unique address bit被設置為0,這表示該地址是全球唯一的,是出廠默認地址。
- IG bit: Individual address bit被設置為0,這表示該地址是單播地址。
- Type: 這個欄位表示該封包的類型。在這裡,類型為ARP(0x0806),這表示該封包是一個地址解析協議(ARP)封包。
Address Resolution Protocol (request/reply)
- Hardware type: 硬體類型為乙太網路(Ethernet),其代碼為1。
- Protocol type: 協議類型為IPv4,其代碼為0x0800。
- Hardware size: 硬體地址的大小為6字節,這對應於乙太網路MAC地址的長度。
- Protocol size: 協議地址的大小為4字節,這對應於IPv4地址的長度。
- Opcode: 操作碼為1,表示這是一個ARP請求。
- Sender MAC address: 發送者的MAC地址為PcsCompu_b6:ad:d7(08:00:27:b6:ad:d7)。
- Sender IP address: 發送者的IP地址為10.73.29.4。
- Target MAC address: 目標的MAC地址為00:00:00_00:00:00(00:00:00:00:00:00)。在ARP請求中,如果目標的MAC地址未知,則通常會設置為全0。
- Target IP address: 目標的IP地址為10.73.29.3。
接著,回應封包的內容大致上一樣,不過目標端(Target)和傳送端(Sender)的資訊會互換,並藉此得知彼此的訊息。
明天我們會接著換使用ping指令時產生的封包來進行分析。