2010-02-15 61 views
1

路由器是否可以獲取未連接的附近設備的MAC地址?我想編寫一個應用程序,當某個特定的MAC地址位於我擁有的路由器範圍內時,它會以某種方式通知我(電子郵件或其他)(應用程序比這個更具體,所以我不能使用預先構建的工具,但如果它們是開源的他們可以幫助)。路由器將連接到互聯網,該設備是一個iPhone,所以它一直在尋找WiFi接入點,所以我覺得所有的成分都在那裏,但我不確定我所問的是否可能。如果可能的話(即使只是通過重寫路由器操作系統)將會需要什麼? C與我希望去的一樣低...獲取路由器範圍內設備的MAC地址

回答

3

您可以編程的基於Linux的路由器,通常意味着運行OpenWRT或DD-WRT的路由器可以執行此操作;您可以將路由器置於監視模式,並讓tcpdump或tshark監聽該特定MAC地址。如果你願意,你可以編寫自己的捕獲應用程序來使用libpcap來偵聽。如果您只能通過掃描活動通道,路由器可以同時提供訪問點。

你也可以聽標準路由器的日誌,但問題是電話至少要在路由器記錄任何事情之前嘗試關聯;使用Linux路由器,您可以只聽該MAC地址發送任何數據包。

我最喜歡的基於Linux的路由器來自Ubiquiti,因爲它們的RouterStation Pro是爲運行OpenWRT而構建的,所以沒有黑客攻擊和完整的硬件文檔。

+0

我剛剛注意到這個迴應是我一直在尋找的東西。我想知道是否有腳本添加到DDWRT設備來實現此目的?我想將DDWRT設備看到的MAC地址提供給數據庫?這可能嗎?謝謝羅伯特 –

+0

@RenegadeRob嘿,我想知道你是否發現這個話題的任何信息?我正在尋找完全相同的東西! –

+0

嗨@RansonNamba不,我沒有。抱歉 –

1

取決於路由器。那裏有路由器完全開放的操作系統,如Linksys WRT54GL,其中存在OpenWRT,DD-WRT和Tomato操作系統。您可以(例如)開發一個簡單的bash腳本來解釋日誌文件併發送給您。

您與其他路由器的體驗可能有所不同。許多日誌文件可通過http或telnet訪問,因此即使無法在路由器上運行自己的代碼,您也可以在外部解釋此文件。

+0

@ColinPickard您好我想知道,如果你有你提到做這個DDWRT設備上的bash腳本的例子嗎?我想將MAC地址提供給數據庫?感謝羅伯特 –

-1

我猜測,通過路由器,你實際上是指一個wifi接入點(可能集成到家庭路由器),你在談論無線連接。那麼不,這是不可能的。當設備至少試圖連接到它的網絡時,接入點只知道MAC地址。然而,設備顯示的附近網絡列表不需要任何形式的連接到任何網絡。相反,他們會聽取接入點發出的信標。

+0

設備還探測網絡,從而揭示其探測包中的MAC地址。所以你可以聽,如果該設備是足夠可編程的。 –

+0

托馬斯, 所以你的意思是說,如果設備只是在範圍內,而不是實際連接到無線路由器,這是不可能的路由器(的OpenWRT)知道這些設備的MAC地址編程?感謝您的回覆! – 2012-02-04 17:59:44

相關問題