利用wireshark,简单分析ipoe、pppoe

不同平台wireshark的使用

  • win
  1. 安装软件
  2. 对于VLAN-tag,需要更具不同的网卡进行设置,有的网卡可能不支持抓取带有VLAN的网络包。有的网卡找不到设置的方法,看命。
  • linux
  1. 使用需要权限输入命令–sudo wireshark–
  2. 保存在有权限的文件夹,不然取文件又会有一堆事
  3. 不用刻意设置抓取VLAN包

pppoe

  • 使用pppoed对,pppoe拨号流程进行筛选
  • pppoe连接流程

  • 发现阶段
  • 以下流程中的SESSION-ID是唯一的,主要用于服务器端与客户端的辨认
  1. 客户端发出广播
  • Active Discovery Initiation (PADI)
  • 可以查看详细的信息了解到发起广播的mac地址,通过mac地址来确定是否为自己的客户端发出的广播。
  • 并且向外广播自己需要的服务种类
  1. 服务端回复
  • Active Discovery Offer (PADO)
  • PPPoE Tags里面会回复一些,相关信息
  • 并且表明自己可以提供的服务种类
  • 其中在一二两步中Host-Uniq Tag相同
  1. PADR
  • 客户端选择某一分组的服务器进行回复,因为可能收到多个服务器的PADO
  • 当客户端发出此消息后,如果未按时收到回复就会重新进行PADI,并且等待时间加倍
  1. PADS
  • 服务器向客户端回复的消息,当主机正确接收消息并验证后,就会进入会话阶
  • 其中在三四两步中Host-Uniq Tag相同
  • 会话阶段
  • 服务端与客户端都会发送LCP数据包来配置与测试通信的链路
  • SESSION-ID不能改变,并且与发现阶段的一致
  1. LCP协商
  • 会选择PAP/CHAP中某一种来进行账号的验证
  • PAP两次握手、明文账号密码(wireshark能直接看到)、不安全
  • CHAP三次握手、只传输账号、较安全
  1. NCP协商
  • 主要功能是协商PPP 报文的网络层参数,如IP 地址, DNS Server
    IP 地址, WINS Server IP 地址等
  • 双方的协议是通过报文中包含的Option 项进行协商的,每一个Option 都是一个需要协商的问题
  1. 会话维持
  • 设备主动发送Echo Request,若三次未得到服务器的回复,则断开连接,释放IP
  1. 会话结束
  • 当某一方收到PADT后,会话就结束了

ipoe

  • 使用bootp对ipoe数据包进行筛选
  • ipoe是DHCP+技术,就是DHCP配合其他技术实现用户认证的技术
  • ipoe连接流程

  1. 客户端发送DHCP DISCOVER
  • 此阶段由客户端发起
  • option字段中的列表,表明客户端需要的参数
  • 其中四个IP必须是0
  1. 服务器端回复DHCP OFFER
  • 此消息为服务器端回复的消息
  • 由于DHCP DISCOVER消息是广播,因此会有不同的服务器同时回复
    OFFER
  • 在选项中会回复分配给客户端的IP,并且在服务器端此IP的状态是已分配
  1. 客户端接受到DHCP OFFER,回复DHCP REQUEST
  • 客户端会根据需求进行某一条的连接,比如VLAN-tag
  • 也有可能根据收到OFFER的先后进行连接,选择最先回复的服务端
  • DHCP REQUEST会进行广播,已经选择的服务器IP与自己选择的IP,广播的作用是为了让未选中的服务器做出反应
  1. 服务器端收到DHCP REQUEST
  • 如果客户端选择的服务器IP与自己的不相同并且自己回复过DHCP OFFER,则要清除自己分配的IP地址
  • 是自己的IP地址回复,DHCP ACK,在DHCP ACK的option中规定租借时间
  1. 用户端收到DHCP ACK
  • 会广播一个ARP消息,已确定无人使用此IP
  • 若IP无人使用客户端成功拿到IP
  1. 用户的认证需要通过option字段中规定的字段进行沟通。