FreeRADIUS新手求助:如何获取用户密码以完成Wi-Fi认证?
RADIUS Wi-Fi认证获取用户密码的排查与解决方案
1. 确认RADIUS服务器的密码属性配置
不同认证模式下,RADIUS传递的密码属性存在差异:
- PAP/TTLS-PAP模式:密码会通过
User-Password属性传递(TTLS下需先建立加密隧道),需确保RADIUS服务器配置了解密TTLS隧道的证书,同时开启pap模块的属性解析权限。 - 若客户端默认使用MS-CHAPv2而非PAP,服务器收到的会是
MS-CHAPv2哈希属性,而非明文密码属性。
2. 开启RADIUS服务器调试日志
直接通过调试输出查看认证请求的完整属性:
- FreeRADIUS执行命令:
radiusd -X,实时输出所有认证请求的属性明细,可直接查找User-Password或MS-CHAPv2等密码相关字段。 - Windows NPS服务器:在事件查看器的「网络策略服务器」日志中开启详细记录,排查认证请求的属性内容。
3. 强制客户端匹配认证模式
- TTLS-PAP模式下,需在Wi-Fi客户端设置中强制选择「PAP」作为身份验证类型,同时确保客户端信任RADIUS服务器证书(测试阶段可临时关闭证书验证)。
- 避免客户端自动切换为MS-CHAPv2等其他认证方式,导致密码属性类型不匹配。
4. 适配加密脚本的密码类型
- 若脚本仅支持明文密码验证,必须确保客户端和服务器均使用PAP类认证,获取
User-Password属性的明文值。 - 若无法使用PAP,需修改脚本适配MS-CHAPv2的哈希验证逻辑,提取对应属性中的哈希值与存储的加密哈希做比对。
5. 检查RADIUS属性过滤规则
排查RADIUS服务器配置文件(如FreeRADIUS的sites-available/default),确认无User-Password属性的过滤或移除规则,防止属性被拦截导致脚本无法获取。
内容的提问来源于stack exchange,提问作者shier
相关产品推荐
相关产品推荐

