Запрет MAC-адреса для доступа к определенному порту - C ++ - PullRequest
2 голосов
/ 17 августа 2010

Я хочу помешать кому-то с определенным MAC-адресом получить доступ к определенному порту на моем сервере, я использую это как своего рода аппаратный запрет для частного сервера, на котором работает мой друг.

Я собираюсь сделать это на C ++ и хотел бы знать, что мне нужно исследовать, чтобы это сделать. Сервер работает под управлением Windows.

Кроме того, как мне узнать MAC-адрес человека, который обращается к нему? Thankyou.

Ответы [ 3 ]

11 голосов
/ 17 августа 2010

Фильтрация по MAC-адресам полезна, только если сервер и клиент находятся в одной локальной сети. Сервер увидит MAC-адрес ближайшего вышестоящего маршрутизатора, а не клиента MAC-адрес.

6 голосов
/ 17 августа 2010

Сокеты уровня приложения не позволяют фильтровать MAC. Единственный способ получить MAC - это иметь прямой доступ к самим заголовкам TCP / IP, к которым сокеты не предоставляют доступ. Если вы не используете низкоуровневый драйвер перехвата, такой как WinPCap, то вам лучше оставить сервер позади реального аппаратного брандмауэра / маршрутизатора и позволить ему выполнять фильтрацию MAC за вас.

3 голосов
/ 17 августа 2010

Хотя я не могу ответить на ваш вопрос, MAC-адреса, как правило, устанавливаются в программном обеспечении, поэтому их можно довольно легко изменить.

...