CMCC portal 协议wireshark 抓包分析

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介:

环境介绍:

认证服务器

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,如需转载请自行联系原作者

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
Linux
利用wireshark抓包分析
利用wireshark抓包分析
105 0
|
6月前
|
缓存 网络协议 网络性能优化
基于 Wireshark 分析 IP 协议
基于 Wireshark 分析 IP 协议
|
6月前
|
存储 缓存 运维
基于 Wireshark 分析 ARP 协议
基于 Wireshark 分析 ARP 协议
|
6月前
|
运维 网络协议 Python
使用tcpdump和wireshark进行服务器抓包分析
使用tcpdump和wireshark进行服务器抓包分析
230 0
|
网络协议 网络架构
Web协议详解与抓包实战(2)-wireshark中理解网络协议的分层
Web协议详解与抓包实战(2)-wireshark中理解网络协议的分层
72 2
|
6月前
|
网络协议
Wireshark中的http协议包分析
Wireshark可以跟踪网络协议的通讯过程,本节通过http协议,在了解Wireshark使用的基础上,重温http协议的通讯过程。 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是万维网的数据通信的基础。 下图是访问百度页面的头部文件的Wireshark数据包截取图,以下几点说明如下:
Wireshark中的http协议包分析
|
6月前
|
缓存 网络协议
Wireshark中的ARP协议包分析
Wireshark可以跟踪网络协议的通讯过程,本节通过ARP协议,在了解Wireshark使用的基础上,重温ARP协议的通讯过程。 ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 在Wireshark界面,我们可以看到19、20号数据包,就是一对标准的ARP请求和响应包。
|
网络协议
WireShark抓包分析
WireShark抓包分析
164 0
|
缓存 Java Linux
Wireshark抓包分析Eureka注册发现协议
前面的系列文章中,我们分析源码对Eureka有了深入了解,其中获取服务列表、注册、续约等操作都涉及到client和server端的交互,今天我们通过Wireshark抓包来分析这些交互的内容,以印证之前的代码分析,达到理论实践相结合,彻底融会贯通
150 0
Wireshark抓包分析Eureka注册发现协议