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

Portal直接认证上下线过程简析

2013-05-06 发表
  • 1关注
  • 5收藏 3792浏览
粉丝: 关注:

Portal直接认证上下线过程简析

一、Portal直接认证上下线过程可以分为四个阶段

1.客户端、接入设备之间的交互过程(HTTP重定向)

客户端访问任意IP地址(1.1.1.1)的目的网页,AC作为接入设备在配置了Portal认证的接口伪装成客户端想要访问的目的网页,并通过HTTP重定向将Portal服务器的认证页面返回客户端。客户端、接入设备、Portal服务器之间的交互过程(HTTP重定向)对应下图的HTTP-GETHTTP重定向。

2.客户端、Portal服务器、接入设备之间的交互过程(认证前)

客户端访问重定向的Portal服务器认证页面,输入用户名和密码,通过点击上线提交用户名和密码给Portal服务器。Portal服务器通过与接入设备交互INFO报文获取客户端相关信息,Portal服务器通过与接入设备交互CHALLENGE报文协商用于CHAP加密的ChallengePortal服务器采用CHAP认证方式的情况,采用PAP认证方式时没有此过程)。客户端、Portal服务器、接入设备之间的交互过程(认证前)对应下图的HTTP上线请求、REQ_INFOACK_INFOREQ_CHALLENGEACK_CHALLENGE

3Portal服务器、接入设备、Radius服务器之间的交互过程(认证中)

Portal服务器通过REQ_AUTH向接入设备发起认证,接入设备与Radius服务器进行通信,对用户信息进行认证,如果认证成功,接入设备回应Portal服务器ACK_AUTH告知客户端认证成功,Portal服务器通过AFF_ACK_AUTH对此再进行一次回应。最后,接入设备向Radius服务器发起计费开始过程。Portal服务器、接入设备、Radius服务器之间的交互过程(认证中)对应下图的REQ_AUTHAccess-RequestAccess-AcceptACK_AUTHAFF_ACK_AUTHAccouting- RequestAccouting- Response

4.客户端、Portal服务器、接入设备、Radius服务器之间的交互过程(下线)

客户端通过点击下线将下线请求告知Portal服务器,Portal服务器通过REQ_LOGOUT向接入设备发送下线请求报文,接入设备通过ACK_LOGOUT进行回应。最后,接入设备向Radius服务器发起计费结束过程。客户端、Portal服务器、接入设备、Radius服务器之间的交互过程(下线)对应下图的HTTP下线请求、REQ_LOGOUTACK_LOGOUTAccouting- StopAccouting- Response

二、组网图

AC作为AP网关(Vlan-int2192.168.2.1/24)和Client网关(Vlan-int10192.168.10.1/24),设置互联地址(Vlan-int10010.153.43.143/24)与iMC进行通信,iMCIP地址172.16.100.122提供Portal服务和AAA服务。

三、抓包显示

AP采用本地转发,在Client网关开启Portal认证,在AC的有线口对一次Portal直接上下线过程进行抓包显示。

1.客户端、接入设备之间的交互过程(HTTP重定向)

通过( ip.src == 192.168.10.2 && ip.dst == 1.1.1.1 ) || ( ip.src == 1.1.1.1 && ip.dst == 192.168.10.2 )对客户端与接入设备之间的交互报文进行过滤。

No.25No.26No.27TCP三次握手建立连接的过程(配置了Portal 认证的接口会接受任何未上线客户端的 TCP连接,伪装成客户端想要访问的目的网页),No.28号报文显示客户端通过HTTP-GET试图访问1.1.1.1的页面内容,No.29号报文显示接入设备向客户端重定向Portal服务器的认证页面,报文中包含认证页面的URL信息,随后客户端对认证页面进行访问。

2.客户端、Portal服务器、接入设备之间的交互过程(认证前)

通过( ip.src == 192.168.10.2 && ip.dst == 172.16.100.122 ) || ( ip.src == 172.16.100.122 && ip.dst == 192.168.10.2 )对客户端与Portal服务器之间的交互报文进行过滤。

通过( ip.src == 172.16.100.122 && ip.dst == 10.153.43.143 ) || ( ip.src == 10.153.43.143 && ip.dst == 172.16.100.122 ) Portal服务器与接入设备之间的交互报文进行过滤。

No.260HTTP - POST报文显示客户端提交用户名和密码给Portal服务器,报文中包含客户端的用户名和密码信息。No.262REQ_INFO报文(Portal服务器使用UDP端口50100,接入设备使用UDP端口2000),No.263ACK_INFO报文,No.264REQ_CHALLENGE报文,No.265ACK_CHALLENGE报文。

3Portal服务器、接入设备、Radius服务器之间的交互过程(认证中)

通过( ip.src == 172.16.100.122 && ip.dst == 10.153.43.143 ) || ( ip.src == 10.153.43.143 && ip.dst == 172.16.100.122 ) Portal服务器与接入设备之间和接入设备与Radius服务器之间的交互报文进行过滤。

No.266REQ_AUTH报文显示Portal服务器向接入设备发起认证,随后接入设备与Radius服务器进行Radius报文交互,No.267Access-Request认证请求报文,No.269Access-Accept认证接受报文,No.270为接入设备回应Portal服务器ACK_AUTH报文告知客户端认证成功,No.272Portal服务器通过AFF_ACK_AUTH报文进行一次回应。No.271Start类型(Acct-Status-Type=1)的Accounting-Request计费请求报文,No.279Accounting-Response计费响应报文。

4.客户端、Portal服务器、接入设备、Radius服务器之间的交互过程(下线)

通过( ip.src == 172.16.100.122 && ip.dst == 10.153.43.143 ) || ( ip.src == 10.153.43.143 && ip.dst == 172.16.100.122 ) Portal服务器与接入设备之间和接入设备与Radius服务器之间的交互报文进行过滤。

No.474REQ_LOGOUT报文显示客户端通过点击下线将下线请求告知Portal服务器后,Portal服务器向接入设备发送下线请求报文,No.477为接入设备通过ACK_LOGOUT报文进行回应。No.478Stop类型(Acct-Status-Type=2)的Accounting-Request计费请求报文,No.479Accounting-Response计费响应报文。

四、debugging显示

通过在AC上开启debuggingdebugging portal tcp-cheatdebugging portal packet interface vlan10debugging radius packet,对一次Portal直接上下线过程进行debugging显示。

1.客户端、接入设备之间的交互过程(HTTP重定向)

该阶段为debugging portal tcp-cheat显示,客户端(192.168.10.2)与接入设备(1.1.1.1)通过TCP三次握手建立连接过程:LISTEN-> SYN_RECVD->ESTABLISHED,随后客户端通过HTTP-GET访问1.1.1.1的页面内容时,接入设备向客户端重定向Portal服务器的认证页面,客户端对认证页面进行访问。

*Apr 18 15:01:41:519 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG:  Source MAC = 0024-d636-18b2

*Apr 18 15:01:41:549 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG: A connection of c0a80a02 added!

*Apr 18 15:01:41:590 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 192.168.10.2 is  LISTEN!

*Apr 18 15:01:41:610 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 192.168.10.2 changed from  LISTEN to  SYN_RECVD!

*Apr 18 15:01:41:660 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 192.168.10.2 is  SYN_RECVD!

*Apr 18 15:01:41:680 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 192.168.10.2 changed from  SYN_RECVD to  ESTABLISHED!

*Apr 18 15:01:41:701 2014 AC TCPCHEAT/7/TCPCHEAT_DEBUG: State of connection with source IP 192.168.10.2 is  ESTABLISHED!

2.客户端、Portal服务器、接入设备之间的交互过程(认证前)

该阶段为debugging portal packet interface vlan10显示。

Portal packet head:

Type:9  SN:96   ReqId:0    AttrNum:1  ErrCode:0  UserIP:192.168.10.2

//Portal服务器发送给接入设备的客户端IP地址为192.168.10.2REQ_INFO报文(Type:9)。

Portal packet head:

Type:10 SN:96   ReqId:0    AttrNum:3  ErrCode:0  UserIP:192.168.10.2

//接入设备发送给Portal服务器的客户端IP地址为192.168.10.2ACK_INFO报文(Type:10)。

Portal packet head:

Type:1  SN:96   ReqId:0    AttrNum:0  ErrCode:0  UserIP:192.168.10.2

//Portal服务器发送给接入设备的客户端IP地址为192.168.10.2REQ_CHALLENGE报文(Type:1)。

Portal packet head:

Type:2  SN:96   ReqId:3    AttrNum:3  ErrCode:0  UserIP:192.168.10.2

//接入设备发送给Portal服务器的客户端IP地址为192.168.10.2ACK_CHALLENGE报文(Type:2)。

3Portal服务器、接入设备、Radius服务器之间的交互过程(认证中)

该阶段为debugging portal packet interface vlan10debugging radius packet显示。

Portal packet head:

Type:3  SN:96   ReqId:3    AttrNum:4  ErrCode:0  UserIP:192.168.10.2

//Portal服务器发送给接入设备的客户端IP地址为192.168.10.2REQ_AUTH报文(Type:3)。

[1  User-name                   ] [10] [portal01]

*Apr 18 15:01:54:989 2014 AC RDS/7/DEBUG: Send: IP=[172.16.100.122], UserIndex=[3], ID=[10], RetryTimes=[0], Code=[1], Length=[251]

//接入设备发送给Radius服务器的用户名为portal01Access-Request认证请求报文(Code=[1])。

[1  User-name                   ] [10] [portal01]

*Apr 18 15:01:55:372 2014 AC RDS/7/DEBUG: Receive:IP=[172.16.100.122],Code=[2],Length=[344]

//Radius服务器发送给接入设备的用户名为portal01Access-Accept认证接受报文(Code=[2])。

Portal packet head:

Type:4  SN:96   ReqId:3    AttrNum:5  ErrCode:0  UserIP:192.168.10.2

//接入设备发送给Portal服务器的客户端IP地址为192.168.10.2ACK_AUTH报文(Type:4)。

Portal packet head:

Type:7  SN:96   ReqId:3    AttrNum:0  ErrCode:0  UserIP:192.168.10.2

//Portal服务器发送给接入设备的客户端IP地址为192.168.10.2AFF_ACK_AUTH报文(Type:7)。

[1  User-name                   ] [10] [portal01]

[40 Acct-Status-Type            ] [6 ] [1]

*Apr 18 15:01:55:845 2014 AC RDS/7/DEBUG: Send: IP=[172.16.100.122], UserIndex=[3], ID=[11], RetryTimes=[0], Code=[4], Length=[232]

//接入设备发送给Radius服务器的用户名为portal01Start类型(Acct-Status-Type=1)的Accounting-Request计费请求报文(Code=[4])。

*Apr 18 15:01:56:117 2014 AC RDS/7/DEBUG: Receive:IP=[172.16.100.122],Code=[5],Length=[68]

//Radius服务器发送给接入设备的Accounting-Response计费响应报文(Code=[5])。

4.客户端、Portal服务器、接入设备、Radius服务器之间的交互过程(下线)

该阶段为debugging portal packet interface vlan10debugging radius packet显示。

Portal packet head:

Type:5  SN:97   ReqId:0    AttrNum:2  ErrCode:0  UserIP:192.168.10.2

//Portal服务器发送给接入设备的客户端IP地址为192.168.10.2REQ_LOGOUT报文(Type:5)。

Portal packet head:

Type:6  SN:97   ReqId:0    AttrNum:3  ErrCode:0  UserIP:192.168.10.2

//接入设备发送给Portal服务器的客户端IP地址为192.168.10.2ACK_LOGOUT报文(Type:6)。

[1  User-name                   ] [10] [portal01]

[40 Acct-Status-Type            ] [6 ] [2]

*Apr 18 15:02:25:524 2014 AC RDS/7/DEBUG: Send: IP=[172.16.100.122], UserIndex=[3], ID=[12], RetryTimes=[0], Code=[4], Length=[322]

//接入设备发送给Radius服务器的用户名为portal01Stop类型(Acct-Status-Type=2)的Accounting-Request计费请求报文(Code=[4])。

*Apr 18 15:02:25:765 2014 AC RDS/7/DEBUG: Receive:IP=[172.16.100.122],Code=[5],Length=[32]

//Radius服务器发送给接入设备的Accounting-Response计费响应报文(Code=[5])。

备注:

关于详细的Portal直接认证上下线过程的分析请见协议案例中的“协议案例集(2011年度)”。


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

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

该案例暂时没有网友评论

编辑评论

举报

×

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

侵犯我的权益

×

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

泄露了我的隐私

×

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

侵犯了我企业的权益

×

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

抄袭了我的内容

×

原文链接或出处

诽谤我

×

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

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

×

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

不规范转载

×

举报说明

提出建议

    +

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

确定

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

注册后可访问此模块

跳转hclhub

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