0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PPPoe的报文结构和抓包分析

网络技术干货圈 来源:网络技术干货圈 2024-01-02 09:47 次阅读

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

PPPoe的报文结构

2eae111e-a7c5-11ee-8b88-92fbcf53809c.png

可以看出PPPoe的报文结构其实很简单,只不过是将PPPoe的报文塞到以太网的载荷中,而且它的头部字段也十分的简单,TLV就不说了,code字段表示了PPPoe不同的报文类型,比较常见的就是上面的五个报文了,PPPoe的报文类型其实还蛮多的。session ID主要的作用就是标识一段会话,因为使用PPPoe的最主要作用就是使得多台设备可以借助以太网多点接入多点访问的特点去和一台设备做上网认证请求,这样运营商一台认证设备就可以满足多个用户的认证请求,这和PPP相比起来好的不止一点。虽然传统的广域网链路的传输距离比较长,但是速率低是它的痛点,而且随着以太网的发展和光纤的发展,用户连接到运营商的介质不仅仅局限于双绞线,所以像传统的广域网链路在用户于运营商之间也越来越少了。

PPPoe的头部后面就是PPP的报文了,因为我们需要的是ppp协议中的认证功能,所以自然需要有完整的ppp报文去完成这一部分的功能。

1、PPPoe的发现阶段

因为是将ppp在以太网上实现,所以在一个广播链路上可能有多个相关的PPPoe服务端,所以PPPoe的发现阶段和DHCP的发现阶段十分的相似

2ed09194-a7c5-11ee-8b88-92fbcf53809c.png

我们现在来抓包分析一下它的发现过程:

2eea0c82-a7c5-11ee-8b88-92fbcf53809c.png

1、首先发送Init的初始报文去寻找PPPoe的服务端,下面是init初始报文

2ef9cfa0-a7c5-11ee-8b88-92fbcf53809c.png

可以看到初始报文比较简洁,在以太网载荷部分,也就是PPPoe的有效内容部分,存在的只有PPPoe的头部,我们现在可以看到Session ID此时是全0,因为此时我们还没有和服务端取得联系,还没有建立会话。

2、服务端回送一个offer报文,表示它可以提供一个PPPoe的服务

2f3000e8-a7c5-11ee-8b88-92fbcf53809c.png

可以看到offer报文的内容也是十分的简洁,PPPoe的有效内容部分仅仅包含着PPPoe的包头,其实我们也能够理解,因为PPPoe的会话发现阶段并不需要其他的内容,我们只要通过init和offer报文互相发现,互相确认即可。

3、客户端发送request报文,表示希望请求该服务端的PPPoe服务

2f47a7d4-a7c5-11ee-8b88-92fbcf53809c.png

同样request报文也很简洁,我就不赘述了

4、服务端发送session-confirm表示对建立的会话的确认

2f5f475e-a7c5-11ee-8b88-92fbcf53809c.png

这个报文同样很简洁,我们还可以发现上面三个报文的session-ID都是0,但是因为最后一个报文是服务器端确定了客户端要使用自己的PPPoe的服务,所以它就生成了PPPoe的session-ID填入到session-confirm中表示我已经将会话建立起来了,你后面使用这个session-ID就好。

5、正常的PPP链路协商

2f76f520-a7c5-11ee-8b88-92fbcf53809c.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5078

    浏览量

    166239
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82524
  • PPPoE
    +关注

    关注

    0

    文章

    23

    浏览量

    12109
  • 报文
    +关注

    关注

    0

    文章

    31

    浏览量

    3968

原文标题:PPPoe的抓包分析(详细)

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CC2530 packet sniffer 为什么不到,?

    我用packet sniffer 软件,芯片用的是CC2530,想协调器给终端设备发送的信道和pandid值,但是抓取不到,不知道为什么?只有MAXC层有数据,NWK层和应用层都没有数据,求大神指点?
    发表于 03-14 10:53

    终端节点为什么无法

    终端节点为什么无法?终端节点收不到协调器无线发送的数据包打断点调试协调器无线发送成功,终端节点开启低功耗模式,并且轮询设置为5s,每5s向协调器发送data request请求。不知道为什么无法
    发表于 03-16 10:27

    CC2640 使用BTool怎么用?

    CC2640使用BTool怎么用?我一直用simpleBLEPeripheral改写的程序,烧写simpleBLEPeripheral,使用BTool,出现[/url]。使用p
    发表于 03-16 11:27

    U***dongle之Sniffer分析[TI官方英文版]

    U***dongle之Sniffer分析[TI官方英文版]
    发表于 11-06 16:16

    WIZnet芯片通讯时怎么?

    `Q:WIZnet芯片进行公网通讯或者芯片间通讯的话怎么?A:芯片和PC通讯的话可以直接通过Wireshark,如果芯片和公网直接通讯或者通讯是发生在芯片之间,则没有办法直接
    发表于 03-13 11:32

    加密后分析的问题?

    请问一下,我的zigbee设备全部都开启了加密, 使用软件的时候,数据都是加密的,我应该怎么解密分析这些数据呢,谢谢了
    发表于 06-01 14:22

    请问怎样分析软件的数据?具体每一条数据的作用是什么?

    本帖最后由 一只耳朵怪 于 2018-6-3 11:36 编辑 怎样分析软件的数据,分析出具体每一条数据的作用?
    发表于 06-01 13:32

    基于HTTP间谍插件分析有道翻译反爬机制

    python实战:利用chrome插件HTTP间谍分析有道翻译反爬机制
    发表于 04-15 11:41

    为什么用packet sniffer总是只抓到一部分报文

    用packet sniffer总是只抓到一部分报文,怎么解决?硬件是CC2650,simpleBLEPeripheral例程。
    发表于 10-10 09:38

    wireshark数据分析问题

    用网络调试助手作为Tcp Server给STM32F429发送数据,每次传输完21845bytes后,就出现问题。用WireShark的数据有些不太理解。上图为用串口调试助手调试后的信息,每次传输到21846bytes就接收不到了。以上为网络
    发表于 04-08 04:35

    如何使用WireShark进行网络

      如何使用WireShark进行网络:准备工作、wireshark 主界面介绍、封包列表介绍
    发表于 04-02 07:05

    空口方式和wireshank分析工具使用介绍

    主要介绍下最近使用中感觉很万能的空口方式和wireshank分析工具使用;目的:抓取各种设备网络通信过程中数据,定位并分析软硬件设计中
    发表于 01-18 09:11

    请问BLE-Dongle是否支持协议分析?请问怎么进行协议分析

    如题,请问贵司的BLE-Dongle是否支持协议分析?请问怎么进行协议分析
    发表于 09-07 07:12

    CH395Q异常是什么原因?如何解决?

    使用CH395Q和电脑进行通信,CH395作为server,用wireshark总是出现TCP Dup ACK(CH395发送)报文,但是使用外置的PHY就没有这个问题。请问是什么原因,怎么解决?谢谢!
    发表于 10-14 07:57

    为什么SPI逻辑分析正常但revbuf值不正确呢?

    SPI 逻辑分析正常,revbuf值不正确(第一次revbuf值正确,再进就不对了)
    发表于 03-06 09:48