2010-10-04 33 views
0

我正在做一個項目類和教授獲得遊客MAC地址要我保存到我的數據庫訪問者的IP地址和MAC地址,當他們登錄。使用PHP和iptables

到目前爲止之後幾個小時的環視我已經能夠使用PHP獲得IP,但現在我需要弄清楚如何獲得MAC地址。

從我的研究中我可以看出使用iptables是關鍵。我已經安裝到我的Web服務器上了,現在只需要一些幫助就搞清楚如何從iptables獲取數據並將其輸出到echo命令中,以便我可以看到發生了什麼。

對於初學者來說,我需要知道如何在使用iptables捕獲MAC地址之前弄清楚如何在所有這些中使用PHP。

+9

你明白,一個數據包的源MAC地址,從任何地方來,但自己的以太網段將路由器的MAC? MAC地址不會通過Internet發送;他們是局域網。 – 2010-10-04 21:07:46

+0

@Jim Garrison - 我知道MAC位於客戶端PC上,只能由運行它的系統訪問。但是我記得當我想限制某些範圍到我的站點時,我可以使用iptables和MAC模塊來捕獲MAC。這就是我想問的問題,如何獲得MAC以及如何將其添加到數據庫以供以後比較。 – Eli 2010-10-04 21:25:38

+0

除非遠程系統位於本地LAN網段,否則MAC無意義。對於源自局域網段以外的任何流量,MAC將識別路由器作爲源。除非所有客戶端系統都位於本地LAN上,否則無法將MAC用作通用過濾機制。 – 2010-10-05 00:10:12

回答

0

在這種情況下,無法確定客戶端的MAC地址是否在其本地網段之外。

檢查地點是否ip route get $ip_address如果結果中沒有'via',它們位於同一網絡上。 如果他們可以在ARP表grep命令查找$ip_address

/usr/sbin/arp -n | fgrep $ip_address