CMCC portal 协议wireshark 抓包分析

简介:

环境介绍:

认证服务器

192.168.13.253

AC

192.168.13.252

抓包过程:
1、安装wireshark,宁盾wifi默认安装路径下${DKEY AM }/Utilities目录下有wireshark安装包,直接安装即可,具体安装过程略。2、添加Portal协议分析插件,具体操作过程参见附件  portal协议分析插件.zip (114.59 KB, 下载次数: 894) 
3、运行wireshark选取网卡,例我的认证服务器所使用的网卡为本地链接;如图:

145059shq4khffgcd5jdk6.jpg

4、过滤portal||radius报文:


145656h4zyfbnognphwofh.jpg



Portal 认证流程


184756nigvxx6y2dvi7irg.jpg184829fi9sy7pylwaal94w.jpg 

报文字段说明

Ver

Ver字段是协议的版本号,长度为 1 字节,目前定义的值为 0x01。

Type

Type字段定义报文的类型,长度为 1 字节,目前其值的定义如表6-1。


报文类型

  

Type

  

方向

含义

REQ_CHALLENGE

0x01

Client----->Server

Portal Server 向AC设备发送的请求Challenge报文

ACK_CHALLENGE

0x02

Client<-----Server

AC设备对Portal Server请求Challenge报文的响应报文

REQ_AUTH

0x03

Client----->Server

Portal Server向AC设备发送的请求认证报文

ACK_AUTH

0x04

Client<-----Server

AC设备对Portal Server请求认证报文的响应报文

REQ_LOGOUT

0x05

Client----->Server

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

ACK_LOGOUT

0x06

Client<-----Server

AC设备对Portal Server请求下线报文的响应报文

AFF_ACK_AUTH

  
  

0x07

Client----->Server

Portal Server对收到的认证成功响应报文的确认报文;

NTF_LOGOUT

0x08

Server --> Client

用户被强制下线通知报文

REQ_INFO

0x09

Client --> Server

信息询问报文

ACK_INFO

0x0a

Server --> Client

信息询问的应答报文

Pap/Chap

Pap/Chap字段定义此用户的认证方式,长度为 1 字节,只对Type值为 0x03 的认证请求报文有意义:

Chap方式认证---值为0x00;

Pap  方式认证---值为0x01;

Rsv

Rsv目前为保留字段,长度为 1 字节,在所有报文中值为 0;

SerialNo

(1)         SerialNo字段为报文的序列号,长度为 2 字节,由Portal Server随机生成,Portal Server必须尽量保证不同认证流程的SerialNo在一定时间内不得重复,在同一个认证流程中所有报文的SerialNo相同;

(2)         Portal Server发给AC设备的报文

a、  由Portal Server发出的Type值为1、3的请求报文其SerialNo都是随机生成数;

b、  由Portal Server向AC设备发出的Type值为5的(REQ_LOGOUT)报文其SerialNo值分两种情况:当ErrCode为0 时(请求用户下线报文),SerialNo值为一个随机生成数;当ErrCode为1时,SerialNo值可能和Type值为1或3的报文 (请求Challenge超时, 或请求认证超时)相同,具体要看是请求Challenge超时还是请求认证超时;

c、  由Portal Server向AC设备发出的认证成功确认报文(Type值为7的报文)SerialNo和其发出的相应请求报文的SerialNo相同;比如对于Type值为7的报文其SerialNo值和Type值为3的请求认证报文相同;

(3)         每一个由AC设备发给PortalServer的响应报文的SerialNo必须和PortalServer发送的相应请求报文的SerialNo一样,否则PortalServer会丢掉从AC设备发来的响应报文; 比如Type值为2的报文其SerialNo值必须和Type值为1的报文相同,Type值为4的报文其SerialNo值必须和Type值为3的报文相同,Type值为6的报文其SerialNo值必须和Type值为5的报文相同。

ReqID

(1)         ReqID字段长度为 2 个字节,由AC设备随机生成,尽量使得在一定时间内ReqID不重复。

(2)         在Chap认证方式中:

a、  AC设备在Type为2 (ACK-CHALLENGE) 的请求Challenge响应报文中把该ReqID的值告诉Portal Server;

b、  在Type值为3、4、7 ( REQ-AUTH, ACK-AUTH, AFF-ACK-AUTH ) 的报文中ReqID字段的值都和Type值为2的报文中此字段的值相同;

c、  在Type值为 5 (REQ-LOGOUT) 的报文中,若报文表示请求Challenge 超时则此字段值为0 ;若报文表示请求认证超时则此字段值和Type值为2 (ACK-CHALLENGE)的报文中此字段的值相同;

(3)         在Pap认证方式中,此字段无意义,其值为0;

(4)         在Type值为 5(REQ-LOGOUT) 的报文中,若报文表示请求下线时则此字段值为0 ;

(5)         在Type值为1、6 (REQ-CHALLENGE , ACK-LOGOUT) 的报文中,该字段均无意义,值都为 0;

UserIP

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

UserPort

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

ErrCode

ErrCode字段和Type字段一起表示一定的意义,长度为 1字节,具体如下:

(1)         对于Type值为1、3、7的报文,ErrCode字段无意义,其值为0;

(2)         当Type值为 2 时:

ErrCode=0,表示AC设备告诉PortalServer请求Challenge成功;

ErrCode=1,表示AC设备告诉PortalServer请求Challenge被拒绝;

ErrCode=2,表示AC设备告诉PortalServer此链接已建立;

ErrCode=3,表示AC设备告诉PortalServer有一个用户正在认证过程中,请稍后再试;

ErrCode=4,则表示AC设备告诉PortalServer此用户请求Challenge失败(发生错误);

(3)         当Type值为 4 时:

ErrCode=0,表示AC设备告诉PortalServer此用户认证成功;

185735o0xxsv493o0yo4gy.jpg

ErrCode=1,表示AC设备告诉PortalServer此用户认证请求被拒绝;

ErrCode=2,表示AC设备告诉PortalServer此链接已建立;

        ErrCode=3,表示AC设备告诉PortalServer有一个用户正在认证过程中,请稍后再试;

        ErrCode=4 ,表示AC设备告诉PortalServer此用户认证失败(发生错误);

(4)         当Type值为 5 时:

ErrCode=0,表示此报文是Portal Server发给AC设备的请求下线报文;

ErrCode=1,表示此报文是在Portal Server没有收到AC设备发来的对各种请求的响应报文,而定时器时间到(即超时)时由PortalServer发给AC设备的报文;

(5)         当Type值为 6 时:

ErrCode=0,表示AC设备告诉PortalServer此用户下线成功;

ErrCode=1,表示AC设备告诉PortalServer此用户下线被拒绝;

ErrCode=2,  表示AC设备告诉Portal Server此用户下线失败(发生错误);

(6)         对Type为REQ_INFO时,ErrCode无意义,其值为0;

(7)         对Type为NTF_LOGOUT时,ErrCode含义如下:

   

ErrCode

   

含义

0

下线

(8)         对Type为ACK_INFO时,ErrCode含义如下:

ErrCode

含义

0

处理成功,但不表示全部消息都被获取了,有多少信息被获得应通过属性来判断,详见下文

1

功能不支持,表示设备不支持这一功能

2

消息处理失败,由于某种不可知原因,使处理失败,例如询问消息格式错误等。




本文转自 msft 51CTO博客,原文链接:http://blog.51cto.com/victorly/1845786,如需转载请自行联系原作者

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
Linux
利用wireshark抓包分析
利用wireshark抓包分析
70 0
|
5天前
|
缓存 网络协议 网络性能优化
基于 Wireshark 分析 IP 协议
基于 Wireshark 分析 IP 协议
|
20天前
|
网络协议
你知道Wireshark 最重要的功能是什么吗?
你知道Wireshark 最重要的功能是什么吗?
|
20天前
|
缓存 网络协议
Wireshark中的ARP协议包分析
Wireshark可以跟踪网络协议的通讯过程,本节通过ARP协议,在了解Wireshark使用的基础上,重温ARP协议的通讯过程。 ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 在Wireshark界面,我们可以看到19、20号数据包,就是一对标准的ARP请求和响应包。
|
8月前
|
网络协议
Wireshark 抓包工具介绍
Wireshark 抓包工具介绍
75 0
|
12月前
|
网络协议
WireShark抓包分析
WireShark抓包分析
115 0
|
12月前
|
运维 网络协议
网络协议分析与抓包工具:Wireshark的高级用法
在网络开发和故障排查中,深入了解网络协议和网络流量是至关重要的。Wireshark作为一款强大的网络协议分析和抓包工具,为开发人员提供了丰富的功能和高级用法。本文将介绍Wireshark的高级用法,包括过滤器的应用、统计信息的分析以及自定义协议的解析。通过掌握这些技巧,您将能够更加深入地分析网络流量,识别问题并加速故障排查过程。
614 0
|
缓存 Java Linux
Wireshark抓包分析Eureka注册发现协议
前面的系列文章中,我们分析源码对Eureka有了深入了解,其中获取服务列表、注册、续约等操作都涉及到client和server端的交互,今天我们通过Wireshark抓包来分析这些交互的内容,以印证之前的代码分析,达到理论实践相结合,彻底融会贯通
137 0
Wireshark抓包分析Eureka注册发现协议

热门文章

最新文章