请教如何查询一个试图登录 Linux 的机器 MAC 地址

2020-06-12 08:39:58 +08:00
 talentl
如题
我们试图做一个网站登录限制白名单功能,想要实现只有名单内的 IP 或 MAC 可以登录的方式。
但是不知道怎么查询一个仅仅是尝试登录的用户所使用的 MAC 地址。
大家有没有类似的情况可以给点建议,谢谢!
3102 次点击
所在节点    程序员
17 条回复
lewis89
2020-06-12 08:44:04 +08:00
libpcap 监听以太网协议 只能 帮你到这里了
cjf
2020-06-12 08:45:32 +08:00
局域网可以用 arp 请求
cshlxm
2020-06-12 08:46:06 +08:00
mac 拿不到吧,2 层就没了,拿 mac 有啥用。。。
lululau
2020-06-12 08:46:15 +08:00
MAC ?用户和服务是在同一个以太网内吗
mifanTeddy
2020-06-12 08:47:23 +08:00
mac 地址是二层的。。。 建议你回去看看 OSI 七层模型
Tianao
2020-06-12 08:48:30 +08:00
网站?那基本都是跨三层访问吧,源 MAC 地址信息早就丢失了,除非像某些防火墙那样拿 SNMP 去用户侧网关上取。但一般主机的策略只做到三层( IP ),二层( MAC )策略交给网络设备。
echo1937
2020-06-12 08:56:27 +08:00
在不考虑代理的情况下,数据包每到一个三层,就把源 MAC 替换成自己的出接口 MAC,目标 MAC 替换成下一跳 MAC,不跨三层不替换。

所以你的需求不科学,或者你的网站只在纯二层提供访问?
ppgs8903
2020-06-12 09:03:10 +08:00
这个可以在系统级别伪造,所以真想恶意你也查不到
talentl
2020-06-12 09:07:23 +08:00
好吧,看了各位的回复,这个需求可能没啥意义,我们再讨论下,多谢解答
Qiss
2020-06-12 09:08:37 +08:00
fail2ban 试试这个吧
newmlp
2020-06-12 09:58:03 +08:00
只要经过一个路由,就拿不到原始 mac 了,没意义
wizardoz
2020-06-12 10:03:33 +08:00
拿到 mac 有什么用? mac 是可以自己设置的。
scukmh
2020-06-12 13:39:26 +08:00
记得以前有人讨论过这个话题,可以用 js 拿来着。(🏃。
libook
2020-06-12 14:18:36 +08:00
MAC 地址的问题很多人都已经指出了,在你的场景下不可行。

因为做限制不仅仅先于在 IP 层面做,所以建议楼主把实际遇到的问题说一下,为什么要进行限制,不限制会出什么问题,然后大家可以根据实际问题来提供合适的解决方案。

我能想到的原因可能是两种:
1. 安全性考虑,需要确保仅可信的人能够访问。这块最简单的方法是用 VPN,用户必须提供账号、密码或秘钥来链接 VPN 网络,然后网站配置仅对 VPN 网段开放。高阶一些的就是可以参考零信任模型。
2. 风控考虑,避免遭受 DDOS 攻击。这个可以通过使用一些可以防 DDOS 的 Web 应用防火墙或者想 V2EX 正在用的这种 CDN 来实现,自己在网站功能上不需要做任何调整。
jugelizi
2020-06-12 14:22:46 +08:00
论程序员计算机网络基础的重要性
fkdog
2020-06-12 15:53:40 +08:00
回去翻一番计算机网络原理 谢希人 第七版。
talentl
2020-06-12 17:14:37 +08:00
多谢大家耐心给了这么多意见。
我们这个场景吧……没啥实际用处,更多意义是从功能数量上控标用的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680864

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX