ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

YESLAB 华为数通学霸日记 | HDLC和PPP协议实验

2020-04-09 10:55:09  阅读:441  来源: 互联网

标签:pap AR1 通学 PPP 认证 ppp HDLC config 报文


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


image.png

image.png

image.png

Hdlc原为思科私有协议,该协议有三种帧类型,分别为信息帧、监控帧、无编号帧(但抓包里没有看到!!!)通过抓包可以看到默认情况下每10秒中发送一次keepalive报文,该报文中还包含了outgoing seq和returned seq。


3、一端配置为借用loopback接口地址方式:

interface Serial1/0/0

 link-protocol hdlc

 ip address unnumbered interface LoopBack0

image.png

配置使用dis ip inter bri  可以看到此接口ip地址与loopback0 的接口地址相同,但是使用此地址ping 10.0.12.2 无法ping通。使用手工方式配置可以ping通,不知道是不是模拟器有bug,需进一步验证。

image.png

二、ppp协议

1、修改两个路由器使用ppp协议封装,抓包观察ppp协议基本格式.


AR1配置:

interface Serial1/0/0

link-protocol ppp

ip address 10.0.12.1 255.255.255.252

AR2配置:

interface Serial1/0/0

link-protocol ppp

ip address 10.0.12.2 255.255.255.252

抓包如下:

image.png

从抓包可以看到ppp链路协商建立的两个阶段,第一个阶段为lCP阶段,主要协商链路控制的参数,LCP阶段双发发送config request报文,收到对方config request报文后回复config ACK报文,其中request报文如下:

image.png

image.png

从抓包可以看出config request报文中包含address、control、protocol、code、identifier、length、option等参数,在这些参数中重点为option参数,里边包含了mru为1500(华为串行链路默认为1500与以太网mtu保持一致)还有随机魔术字,通过对比报文可以发现,在回复config ACK报文中的魔术字与收到的request中魔术字相同。另外config request报文中code值为0X01,config ACK中code值为0X02.


2、分析第二阶段IPCP交互报文

image.png


image.png

IPCP协商与LCP协商类似,都发送请求包回复确认包,与LCP最大的不同是option选项中没有MRU和魔术字,改为了本端的ip地址,在串行链路中数据封装与以太中不同,不使用mac地址因而也就没有了arp,因此通过此中方式可以获取到对端的IP地址,正因此原理,在ppp链路上两端配置IP地址可以不在同一网段同样可以通信。可以尝试将AR1的ip地址配置为192.168.0.1/30,测试效果如下:

image.png

协商稳定后两个路由器会以10秒为周期发送echo request和echo reply, 并且周期稳定后魔术字不变,使用同一个魔术字。

image.png

image.png

image.png

image.png

3、配置ppp认证,ppp有pap和chap两种认证 类型,其中pap为明文认证,chap为md5认证,首先使用pap验证,配置如下:


[AR1-aaa]local-user huawei password cipher Huawei@123

[AR1-aaa]local-user huawei service-type ppp

[AR1]interface Serial 1/0/0

[AR1-Serial1/0/0]ppp authentication-mode pap

配置后将接口shutdown再undo shut,观察抓取报文如下:

image.png


image.png

image.png

image.png

通过报文可以看出,AR1配置了认证后config request的option选择中会有认证相关的信息,由于AR2未配置认证,所以回复了rejected报文,此时rejected报文的option选项中只包含了认证相关部分,意思说明此部分参数我不识别。同时AR1也回复了config ACK报文,AR1在回复ACK报文时与之前无差别。其实从此时报文中还可以发现有IPCP的报文,说明AR2未配置认证但收到了ACK报文进入到了IPCP的交互。


4、将AR2 的串行接口配置pap认证,之后将端口shut和undo shut观察报文交互情况如下:

[AR2-Serial1/0/0]ppp pap local-user huawei password cipher Huawei@123

image.png

image.png

通过抓包可以看到,在LCP协商完成后会有chap协商的内容,首先认证方AR1会以name、identifier id和随机数发过去,AR2在回复中同样有name和hash后的随机数,AR1收到对比正确后回复了ack报文。相比pap明文认证方式,chap认证使用了md5进行hash,这种方式更加安全,交互报文比pap多一次。

image.png

在操作过程中将端口shutdown后从抓包软件中发现还会触发发送termination request和terminal ack报文,此报文应该是用来主动断开连接的。

另外在配置了认证后ping测试产生的icmp报文还是可以获取,因此ppp认证只是对于建立链路生效,后边传输数据还是明文(默认不添加其它配置)。


实验总结

1、hdlc协议原为思科私有协议,现在华为设备也支持,hdlc协议报文简单,但是无法加密。


2、ppp协议分为两个阶段,分别为lcp和ncp阶段,lcp为链路控制协议,用来建立拆除ppp数据链路,NCP阶段为网络层控制协议,用于对不同的网络层协议进行连接建立和参数协商,最重要的是option选项中会有自己端口IP地址,此阶段完成了以太网中arp的工作。


3、ppp协议有两种认证方式,分别为pap和chap,最大区别为pap为明文方式,而chap为密文,相比更加安全。ppp的认证方需要在aaa中添加用于ppp认证的账号和密码,并且在接口下开启认证方式。而被认证方不需要在aaa中配置,只在接口中配置相应的账号和密码即可。


4、ppp认证只用户ppp链路建立使用,一旦建立完成后期数据还是明文方式,通过抓包还可以看到相应的信息。



标签:pap,AR1,通学,PPP,认证,ppp,HDLC,config,报文
来源: https://blog.51cto.com/14476517/2485920

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有