• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

某局点Portal对接失败问题经验案例

2015-07-29 发表
  • 0关注
  • 0收藏 2247浏览
樊昊 九段
粉丝:49人 关注:3人

某客户反馈与我司进行Portal对接开发,发送REQ_CHALLENGE报文我司设备无响应,超时。

通过一线反馈现场AC在设置正确的情况下,第三方平台开发人员与我司设备对接,发送Portal一号报文发送至我司设备无响应。

    查看AC配置:

    #

radius scheme h3cimc

 server-type extended

 primary authentication 192.168.0.161

 primary accounting 192.168.0.161

 user-name-format without-domain

 nas-ip 192.168.0.151

 accounting-on enable

#

domain system

 authentication portal radius-scheme h3cimc

 authorization portal radius-scheme h3cimc

 accounting portal radius-scheme h3cimc

 access-limit disable

 state active

 idle-cut disable

 self-service-url disable

#

#

 portal server CESHI ip 10.63.101.20 url http://10.63.101.20:8088/wifi/login server-type cmcc

 portal free-rule 1 source ip any destination ip 10.65.1.1 mask 255.255.255.255

 portal free-rule 2 source ip any destination ip 10.65.50.1 mask 255.255.255.255

 portal free-rule 3 source ip any destination ip 192.168.0.0 mask 255.255.255.0

 portal free-rule 4 source ip any destination ip 219.235.1.2 mask 255.255.255.255

 portal free-rule 5 source ip 10.63.101.20 mask 255.255.255.255 destination ip any

 portal mac-trigger server ip 192.168.0.161

 portal url-param include user-mac

 portal url-param include nas-ip

 portal url-param include ap-mac

 portal url-param include user-url

 portal url-param include user-ip

 portal url-param include ac-name

#

配置正常,且该AC是从正常使用环境中取出进行开发对接的,之前搭配IMC工作正常,且切换后修改了Portal 服务器类型为CMCC,故排除配置问题。

开启debug信息,

debugging portal packet interface xxx

debugging portal error

debugging portal tcp-cheat

debugging portal acl interface xxx

debugging radius packet

根据输出:

IfName=Vlan-interface55, PortName=WLAN-DBSS0:60, SrcIP=10.63.55.120, DstIP=123.125.125.86, Flow=-1415335965!

*Jun 30 17:30:50:897 2015 XXJS-AC PORTAL/7/PORTAL_DEBUG: Mac trigger permit HTTP-Redirect MAC:9C4E-3672-8A70, IP:0xa3f3778.

*Jun 30 17:30:50:898 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG:  Source MAC = 9c4e-3672-8a70 VLAN =   55

 45 00 00 34 7e a1 40 00 40 06 81 98 0a 3f 37 78

 7b 7d 7d 56 dd 79 00 50 fd 56 11 9c 00 00 00 00

 80 02 20 00 27 cf 00 00 02 04 05 b4 01 03 03 02

 01 01 04 02

 

*Jun 30 17:30:50:898 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG: A connection of 10.63.55.120 added!

*Jun 30 17:30:50:898 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 10.63.55.120 is  LISTEN!

*Jun 30 17:30:50:898 2015 XXJS-AC DPPORTAL/7/DP_PORTAL_DEBUG:

Info: Find the freerule result (1)

*Jun 30 17:30:50:898 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 10.63.55.120 changed from  LISTEN to  SYN_RECVD!

*Jun 30 17:30:50:899 2015 XXJS-AC DPPORTAL/7/DP_PORTAL_DEBUG:

 Matched Redirect ACL.

 IfName=Vlan-interface55, PortName=WLAN-DBSS0:60, SrcIP=10.63.55.120, DstIP=123.125.125.86, Flow=-1415335965!

*Jun 30 17:30:50:899 2015 XXJS-AC PORTAL/7/PORTAL_DEBUG: Mac trigger permit HTTP-Redirect MAC:9C4E-3672-8A70, IP:0xa3f3778.

*Jun 30 17:30:50:899 2015 XXJS-AC DPPORTAL/7/DP_PORTAL_DEBUG:

 Matched Redirect ACL.

 IfName=Vlan-interface55, PortName=WLAN-DBSS0:60, SrcIP=10.63.55.120, DstIP=123.125.125.86, Flow=-1415335965!

*Jun 30 17:30:50:899 2015 XXJS-AC PORTAL/7/PORTAL_DEBUG: Mac trigger permit HTTP-Redirect MAC:9C4E-3672-8A70, IP:0xa3f3778.

*Jun 30 17:30:50:900 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG:  Source MAC = 9c4e-3672-8a70 VLAN =   55

 45 00 00 28 7e a2 40 00 40 06 81 a3 0a 3f 37 78

 7b 7d 7d 56 dd 79 00 50 fd 56 11 9d 30 73 b3 0b

 50 10 fb 90 a9 7c 00 00

 

*Jun 30 17:30:50:900 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 10.63.55.120 is  SYN_RECVD!

*Jun 30 17:30:50:900 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 10.63.55.120 changed from  SYN_RECVD to  ESTABLISHED!

*Jun 30 17:30:50:900 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 10.63.55.120 is  ESTABLISHED!

*Jun 30 17:30:50:901 2015 XXJS-AC TCPCHEAT/7/TCPCHEAT_DEBUG:  Source MAC = 9c4e-3672-8a70 VLAN =   55

该终端(MAC:9C4E-3672-8A70IP:10.63.55.120,关联上AP之后,AC mac-trigger功能对其进行放行,当流量触发阈值之后成功发起重定向,将终端请求重定向至第三方Portal 服务器。根据第三方Portal后台确认,设备确实重定向到了设备,Portal服务器也收到了重定向的页面请求,Portal服务器在获取到页面的账号密码之后向设备发起认证请求出现问题,遂协调平台方抓包排查。

抓包可以看出Portal服务器发起了REQ_CHANLLAGE报文,按照《中国移动WLAN业务PORTAL协议规范》中的报文类型表:

Type

方向

含义

REQ_CHALLENGE

0x01

Client----->服务器

Portal 服务器 向AC设备发送的请求Challenge报文

ACK_CHALLENGE

0x02

Client<-----服务器

AC设备对Portal 服务器请求Challenge报文的响应报文

REQ_AUTH

0x03

Client----->服务器

Portal 服务器向AC设备发送的请求认证报文

ACK_AUTH

0x04

Client<-----服务器

AC设备对Portal 服务器请求认证报文的响应报文

REQ_LOGOUT

0x05

Client----->服务器

ErrCode字段值为0x00,表示此报文是Portal 服务器向AC设备发送的请求用户下线报文;若ErrCode字段值为0x01,表示该报文是Portal 服务器发送的超时报文,其原因是Portal 服务器发出的各种请求在规定时间内没有收到响应报文。

ACK_LOGOUT

0x06

Client<-----服务器

AC设备对Portal 服务器请求下线报文的响应报文

AFF_ACK_AUTH

 

 

0x07

Client----->服务器

Portal 服务器对收到的认证成功响应报文的确认报文;

NTF_LOGOUT

0x08

服务器 --> Client

用户被强制下线通知报文

REQ_INFO

0x09

Client --> 服务器

信息询问报文

ACK_INFO

0x0a

服务器 --> Client

信息询问的应答报文

REQ_CHALLENGE

0x01

Client----->服务器

Portal 服务器 向AC设备发送的请求Challenge报文

ACK_CHALLENGE

0x02

Client<-----服务器

AC设备对Portal 服务器请求Challenge报文的响应报文

REQ_AUTH

0x03

Client----->服务器

Portal 服务器向AC设备发送的请求认证报文

ACK_AUTH

0x04

Client<-----服务器

AC设备对Portal 服务器请求认证报文的响应报文

可以看到Portal 服务器发送的报文中User IP字段未填入有效内容,全为0,但是实际该值我们设备已经通过重定向URL上报给了服务器(配置中有portal url-param include user-ip)。下面是该字段的详细说明:

UserIP

UserIP字段为Portal用户的IP地址,长度为 4 字节,其值由Portal 服务器根据其获得的IP地址填写,在所有的报文中此字段都要有具体的值;

UserPort:

UserPort字段目前没有用到,长度为 2 字节,在所有报文中其值为0

AC回复的报文为:

 

ErrorCode1表示AC设备告诉Portal 服务器请求Challenge被拒绝,AC拒绝是合理的。协调Portal服务器开发人员修改。此次回复正常。

但在3号报文REQ_AUTH又出现问题。

根据抓包:

遂对照协议,发现该报文问题错在长度不对。

协议中要求

Attr(属性字段)

AttrType

属性值长度

属性含义

UserName

0x01

<=253 (可变)

e行用户名,具体为:

“用户手机号码”;

全国/省内预付费卡用户名称:13位数字;

满足国际漫游的需要,支持253字节的长用户名。

PassWord

0x02

<=16(可变)

用户提交的明文密码

Challenge

0x03

16(固定)

 Chap方式加密的魔术字

ChapPassWord

0x04

16(固定)

经过Chap方式加密后的密码

按照上面表格可以发现ChapPassword字段(0X04)长度应该为固定的16位,而第三方Portal服务器发送的报文该字段长度为18,不符合要求,遂与服务器方确认,该处错误是由于服务器在计算CHAPPASSWORD时,算出的值采用了整型保存,在封装协议时转为字符串型,转换之后出现异常,导致该字段长度变长,且数值错误。安排Portol服务器方修改,修改后,交互正常,终端能够上线,计费正常。

 

 

 

填充1号报文中的User IP字段为正确值;

3号报文中的ChapPassWord保证字段填充正确,长度为固定的16位。

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2019-06-12对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作