2010-11-23 99 views
0

我想使用PHP腳本來查找用戶連接到我的網站的路由器。這可能與PHP或其他服務器端語言?是否可以找出用戶路由器的MAC地址?

我看了網上,它看起來像它不可能得到如果用戶的計算機,但路由器? 編輯:我只對用戶的路由器感興趣,而不是用戶的特定計算機。

回答

5

你不能找到目標用戶MAC因爲MAC僅在本地網絡數據包exchaning可用,在WAN網絡使用IP分組交換那麼你只能得到她的路由器IP

但就是從這個規則,一個例外,如果你是用戶在本地網絡(例如服務器是本地網絡),那麼你可以在ARP獲得通過看客戶端或路由器的MAC地址,她有IP本地計算機的地址和她的MAC's,從這張表中你可以得到她的路由器MACARP表中找到ARP關聯,因爲她的網關是你的網關,網關是你的網絡中的路由器,她的網絡也是因爲你與客戶處於同一網絡中。

但在這種情況下,這是無稽之談,因爲與用戶和服務器的通信是本地的,那麼數據包不會到達路由器,但是如果您真的想要這個,您可以得到這個。

第二個廢話是,如果你在本地網絡與用戶(只有一個選項來解決這個問題),那麼可能網關地址將永遠不變。這可以做出改變,如果有人更改路由器設備對其他;-)

摘要:就可以解決這個問題,但只有當服務器和用戶是本地網絡,但我想你想解決這個問題WAN網絡,那麼你不能做到這一點...抱歉不是我的選擇,生活是殘酷的。

1

不,你不能找到它作爲服務器看到的唯一的MAC地址是它連接到的路由器,它通常是遠離用戶的硬件的遠的。所以你總是會得到相同的MAC地址。

+0

我只在尋找路由器的MAC地址 – chustar 2010-11-23 18:10:34

+0

正如我所說的,你只能得到你的**服務器**連接的路由器的MAC地址。不是用戶之一。顯然這不適用於用戶與服務器在同一局域網中(例如家庭/公司網絡) – ThiefMaster 2010-11-23 18:13:21

1

這是不可能的,因爲MAC地址不包含在發送到您的服務器的標頭中。 IP地址或cookie跟蹤是您可以唯一識別匿名用戶的最佳選擇。

0

您需要與用戶或用戶的路由器位於同一網絡中。這可能只能通過惡意手段完成,因爲這會破壞OSI層次結構提供的封裝的整個目的。

0

路由器可能會將其MAC地址嵌入到IPv6地址中,該地址可以使用traceroute發現。

您可以在本地網絡上找到路由器的MAC地址,但找不到用戶計算機連接的路由器的MAC地址。

相關問題