我想阻止某個具有特定MAC地址的人訪問我的服務器上的某個端口,我將此用作某種私有服務器的硬件禁止,這是我的一位朋友運行。禁止訪問某個端口的MAC地址 - C++
我正在尋找這樣做的C++,並想知道我需要研究才能做到這一點。服務器運行Windows。
另外,如何找出訪問者的MAC地址?謝謝。
我想阻止某個具有特定MAC地址的人訪問我的服務器上的某個端口,我將此用作某種私有服務器的硬件禁止,這是我的一位朋友運行。禁止訪問某個端口的MAC地址 - C++
我正在尋找這樣做的C++,並想知道我需要研究才能做到這一點。服務器運行Windows。
另外,如何找出訪問者的MAC地址?謝謝。
僅當服務器和客戶端位於同一局域網上時,在MAC地址上進行過濾纔有用。 服務器將看到最近的上游路由器的MAC地址,而不是客戶端的MAC地址 。
這是真的。 TCP不會通過始發MAC地址發送,因爲它們僅用於本地LAN。一旦你的朋友的TCP數據包被發現需要離開他的本地局域網,它將被重新打包成帶有路由器信息的_different_ ethernet數據包,而不是你朋友的信息。如果朋友確實擁有私人_server_,則IP地址(或DNS名稱)應該一致,您可以對其進行過濾。 – paxdiablo 2010-08-16 23:58:07
@paxdiablo我認爲服務器是試圖禁止,不被禁止的服務器。 – 2010-08-17 12:06:02
應用程序級套接字不允許進行MAC過濾。獲得MAC的唯一方法是直接訪問TCP/IP頭本身,這些套接字不提供訪問權限。除非你使用像WinPCap這樣的低級截取驅動程序,否則你最好把服務器放在真正的硬件防火牆/路由器後面,讓它爲你做MAC過濾。
儘管我無法回答您的問題,但MAC地址現在傾向於使用軟件設置,因此可以非常輕鬆地進行更改。
+1。 MAC地址過濾不提供安全性,因爲它們太容易被欺騙。 – Anthony 2010-08-17 01:28:38
使用操作系統提供的用戶界面。導航到適當的窗口並插入MAC地址點擊保存。如果你想自動配置防火牆,那麼你需要告訴我們服務器上使用的防火牆軟件。 – 2010-08-16 23:50:40