Php

獲取客戶端請求的 MAC?

  • June 2, 2015

我有一個包含 20 個覆盆子(客戶端)和 1 個伺服器的網路。我想檢查客戶端請求的MAC,可以嗎?

此外,可能在客戶不知道(也不可見)的情況下?

注意:我的目標是檢查客戶是否不是假的/模仿的。NB2:我已經執行了一個 VPN 選項。但我還是想檢查 MAC。

您的伺服器是 Linux 主機嗎?

如果您有客戶端的白名單,則可以使用iptables僅在特定輸入埠上接受來自它們的請求。您還可以在 dmesg 中記錄來自不良客戶端的請求。

以下腳本定義了MACCHECK鏈來接受來自已批准的 3 個 MAC 的數據包,並通過日誌記錄丟棄其他 MAC。INPUT然後將鏈中所有 tcp/80 或 tcp/443 的數據包路由到MACCHECK.

iptables -N MACCHECK
iptables -A MACCHECK -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
iptables -A MACCHECK -m mac --mac-source yy:yy:yy:yy:yy:yy -j ACCEPT
iptables -A MACCHECK -m mac --mac-source zz:zz:zz:zz:zz:zz -j ACCEPT
iptables -A MACCHECK -m limit --limit 3/hour -j LOG --log-prefix "Bad host: "
iptables -A MACCHECK -j DROP
iptables -A INPUT -p tcp -m tcp --dport 80 -j MACCHECK   # Checking all HTTP requests
iptables -A INPUT -p tcp -m tcp --dport 443 -j MACCHECK  # Checking all HTTPS requests

請注意,您的所有客戶端都應與伺服器位於同一網路中。

引用自:https://unix.stackexchange.com/questions/206798