2

我想阻止具有某个 MAC 地址的人访问我服务器上的某个端口,我将此用作对我的朋友运行的私有服务器的一种硬件禁令。

我希望在 C++ 中做到这一点,并想知道我需要研究什么才能做到这一点。服务器运行 Windows。

另外,我如何找出访问者的 MAC 地址?谢谢你。

4

3 回答 3

11

仅当服务器和客户端位于同一 LAN 上时,过滤 MAC 地址才有用。服务器将看到最近的上游路由器的 MAC 地址,而不是客户端的 MAC 地址。

于 2010-08-16T23:44:30.923 回答
6

应用级套接字不允许 MAC 过滤。获得 MAC 的唯一方法是直接访问 TCP/IP 标头本身,而套接字不提供对这些标头的访问。除非您使用低级拦截驱动程序,例如 WinPCap,否则您最好将服务器放在真正的硬件防火墙/路由器后面并让它为您进行 MAC 过滤。

于 2010-08-16T23:41:58.497 回答
3

虽然我无法回答您的问题,但 MAC 地址现在倾向于在软件中设置,因此可以很容易地更改。

于 2010-08-16T23:43:31.307 回答