wireshark學習筆記
從一道面試題開始
A ping B 理論分析
注意:透過MAC判斷--1單播,2組播,3廣播, 手動修改MAC時不允許修改成組播或廣播。
十六進位制0x0b轉為二進位制時為11
-
A需要判斷B是否和它是一個網段
A透過自己的掩碼判斷自己的網段是192.168.26.0/24,用自己的掩碼與B主機的IP地址做與運算,計算出B主機的網段是192.168.26.0/24,於是A認為B與它處於同一網段。
-
A會按照通訊規則,發ARP廣播詢問B主機的MAC地址
who has 192.168.26.3, tell 192.168.26.129
-
B主機由於和A主機處於同一個交換機的同一個VLAN,所以B主機會受到A傳送的ARP廣播,B主機執行以下內容:B主機不會再去判斷A主機是否處於同一網段,而直接進行ARP單播回覆,將自己的MAC地址告訴A
-
A主機受到B主機的回覆後,就開始準備ICMP的單播請求報文
源IP:192.168.26.129 目標IP:192.168.26.3
源MAC:00:aa:aa:aa:aa:aa 目標MAC:00:bb:bb:bb:bb:bb
-
A傳送的ICMP單播請求報文經過交換機的轉發順利到達B主機
-
此時,B會判斷A是否與之處於同一網段,B透過自己的子網掩碼判斷自己的網段是192.168.26.0/27,然後透過自己的子網掩碼判斷A主機的網段為192.168.26.128/27,於是B主機認為A主機和它不在同一個網段。
-
此時,B主機需要請求閘道器的幫助,ARP廣播閘道器的MAC地址,閘道器回復B以後,才會開始準備ICMP的回覆報文:
源IP:192.168.26.3 目標IP:192.168.26.129
源MAC:00:bb:bb:bb:bb:bb 目標MAC:00:50:56:E7:51:F1
-
-
B傳送的ICMP回覆報文由閘道器轉發到A主機之後,ICMP完成一次請求和回覆。
B上抓的ARP包:
A上抓的ARP包: