设为首页收藏本站language 语言切换
查看: 1500|回复: 4
收起左侧

【YESLAB】HDLC和PPP协议实验

[复制链接]
发表于 2020-4-9 12:23:51 | 显示全部楼层 |阅读模式
学霸笔记 | HDLC和PPP协议实验
                                 原创 学霸-卜同学  YESLAB  


Ppp和hdlc
串行链路常用的协议有ppp和hdlc,其中hdlc为思科私有协议,但是现在华为也都支持,hdlc协议报文简单,但无法支持认证,ppp可以支持认证。

实验目的
使用hdlc和ppp模式配置串行链路,观察两种协议报文以及ppp认证过程
实验拓扑
1.png




实验步骤
一、hdlc协议
1、修改两台路由器 互联接口封装协议为hdlc,抓包观察hdlc数据包特点。

配置命令:
AR1
interface Serial1/0/0
link-protocol hdlc
p add 10.0.12.1 30
AR2
nterface Serial1/0/0
link-protocol hdlc
ip address 10.0.12.2 255.255.255.252
2、抓包分析hdlc协议报文
2.png



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

3、一端配置为借用loopback接口地址方式:
interface Serial1/0/0
link-protocol hdlc
ip address unnumbered interface LoopBack0
3.png


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

4.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
抓包如下:
5.png


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


6.png
7.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交互报文
8.png
9.png



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

10.png
协商稳定后两个路由器会以10秒为周期发送echo request和echo reply, 并且周期稳定后魔术字不变,使用同一个魔术字。
11.png
12.png
16.png
17.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,观察抓取报文如下:

18.png
19.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
20.png
a.png





通过抓包发现配置了pap认证后只是第一阶段LCP交互报文的option选项中增加了4个字节的认证信息,其它没有变。并且在双方发送和回复报文后又增加了一个认证的请求和确认,同时在认证请求报文中可以看到用户名密码,因此pap认证方式不够太安全。

5、将ppp认证方式改为chap认证方式,配置如下:
[AR1-Serial1/0/0]ppp authentication-mode chap
[AR2-Serial1/0/0]ppp chap user huawei
[AR2-Serial1/0/0]ppp chap password cipher Huawei@123
b.png


通过抓包可以看到,在LCP协商完成后会有chap协商的内容,首先认证方AR1会以name、identifier id和随机数发过去,AR2在回复中同样有name和hash后的随机数,AR1收到对比正确后回复了ack报文。相比pap明文认证方式,chap认证使用了md5进行hash,这种方式更加安全,交互报文比pap多一次。
c.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链路建立使用,一旦建立完成后期数据还是明文方式,通过抓包还可以看到相应的信息。

了解新网工课程加课程顾问微信
鸿鹄Niki2维码.png

鸿鹄专用图.gif
14.png
15.png
发表于 2020-7-12 10:43:24 | 显示全部楼层
好东西 收藏了
板凳 2020-7-12 10:43:24 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2020-7-13 17:57:59 | 显示全部楼层
给大家推荐一个免费的论文查重网站PaperFree:https://www.paperfree.cn
地板 2020-7-13 17:57:59 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-31 01:35 , Processed in 0.054782 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表