iT邦幫忙

0

ARP問題!

arp

想請教各位

假如內網 有 A,B,C 三台電腦

三台ARP cache 都清掉.

我再從A電腦去ping B電腦.理論上A電腦會送出一個ARP request 出去 .對吧!

此時B電腦也會收到這個A電腦的arp request,但不會回reply對吧!

哪請問B電腦是否會去把接收到這個A電腦的arp frame 記錄到自己的arp table裡面?

蟹老闆 iT邦大師 1 級 ‧ 2012-11-10 02:12:03 檢舉
slime 正解,請參考3-3
systemant iT邦新手 5 級 ‧ 2012-11-10 14:54:36 檢舉
抱歉我題目有打錯!!

我再從A電腦去ping C電腦.理論上A電腦會送出一個ARP request 出去 .對吧!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
這樣子的情況B電腦是否會紀錄A電腦的 ARP 到自己身上去?
14
slime
iT邦大師 1 級 ‧ 2012-11-10 01:15:58

我知道的步驟:
A 以廣播方式送出 ARP request "誰的 IP 是 xx.xxx.xxx.xx"?
區網內所有電腦都會收到, 如果這個 IP 是 B 使用, B 就會回應"我的 MAC 是 xx:xx:xx:xx:xx:xx , 正使用 IP xx.xxx.xxx.xx", 而且在 B 會把 A 的 IP 跟 MAC 記下來.

systemant iT邦新手 5 級 ‧ 2012-11-10 14:54:20 檢舉

抱歉我題目有打錯!!

我再從A電腦去ping C電腦.理論上A電腦會送出一個ARP request 出去 .對吧!

這樣子的情況B電腦是否會紀錄A電腦的 ARP 到自己身上去?
slime iT邦大師 1 級 ‧ 2012-11-10 16:50:50 檢舉

systemant提到:
我再從A電腦去ping C電腦.理論上A電腦會送出一個ARP request 出去 .對吧!
這樣子的情況B電腦是否會紀錄A電腦的 ARP 到自己身上去?

以 XP 使用經驗上來看, B 是不會特別去記錄.

經驗上是有多台 XP Client , 去查 NAS 主機, 所以各 Client 的 arp 都有 NAS 跟 Gateway 的 MAC-IP 資料, 而不會有其他台電腦的 MAC-IP (因為我都設定關閉自動搜尋).

但是一般的 XP 或 Windows 會開啟"自動搜尋網芳", 而可能因為這需要連線而有建立.

10
cmwang
iT邦高手 1 級 ‧ 2012-11-10 15:42:00

ARP request是broadcast封包,可是ARP response不是broadcast封包,如果A/B/C不在同一個broadcast domain下時(i.e.在switch的不同port),就算B想sniffer C給A的ARP response也sniffer不到吧....

10
jazozazo
iT邦高手 1 級 ‧ 2012-11-11 11:53:10

Q.我再從A電腦去ping C電腦.理論上A電腦會送出一個ARP request 出去 .對吧!
A.A電腦會送出廣播給相同network的其他網卡, 所以B也會收到

Q.這樣子的情況B電腦是否會紀錄A電腦的 ARP 到自己身上去?
A.不會,因為B網卡會判斷這不是要給B網卡的資料 所以會直接丟掉 不需要記錄

直到A電腦PING B電腦 這樣B電腦才會有一份A電腦的MAC紀錄
所以不用想的太複雜
既然B不是A要PING 的主機
那B就不需要保留一份A的MAC地址

cmwang iT邦高手 1 級 ‧ 2012-11-12 09:07:26 檢舉

jazozazo提到:
Q.這樣子的情況B電腦是否會紀錄A電腦的 ARP 到自己身上去?
A.不會,因為B網卡會判斷這不是要給B網卡的資料 所以會直接丟掉 不需要記錄

ARP request對Ethernet而言是broadcast,在同一個LAN的機器都會收到,除非網卡/driver支援off loading,不然還是會進到OS的TCP/IP stack的,只是因為destination IP不是B,正常而言應該會被TCP/IP stack丟棄的....

jazozazo iT邦高手 1 級 ‧ 2012-11-12 09:20:34 檢舉

小弟不知道 cmwang 要表達什麼 看不太懂
如果樓主還是看不懂的話
乾脆來看看圖片吧
底下這一張 是假設a電腦 ping c電腦
C電腦的ip是 192.168.1.3

因為遮罩相同所以有回應
於是a電腦就有了一筆 c的mac紀錄

因為c電腦有收到來自於 A電腦的icmp封包
所以回應給a電腦 於是c也有了一筆a電腦的mac紀錄

可是b電腦的arp 查詢之後都看不到紀錄

這就是因為b電腦收到來自a的廣播
判斷這不是要給自己的封包資料
所以不需要有任何回應
自然就不會有arp的紀錄需要儲存

cmwang iT邦高手 1 級 ‧ 2012-11-12 10:24:03 檢舉

jazozazo提到:
小弟不知道 cmwang 要表達什麼 看不太懂

鵝只是要表達基於Ethernet的架構,B是可以看到A給C的ARP request的(Ethernet broadcast),但是正常狀況下OS的IP stack會把這個destination IP不是自己的ARP request丟棄而已(i.e.這個request是被OS丟棄的,而不是被Ethernet丟棄的,如果看系統的統計的話還是可以看到有封包從Ethernet進到OS的)....

我要發表回答

立即登入回答