利用wireshark,简单分析ipoe、pppoe
不同平台wireshark的使用
- win
- 安装软件
- 对于VLAN-tag,需要更具不同的网卡进行设置,有的网卡可能不支持抓取带有VLAN的网络包。有的网卡找不到设置的方法,看命。
- linux
- 使用需要权限输入命令–sudo wireshark–
- 保存在有权限的文件夹,不然取文件又会有一堆事
- 不用刻意设置抓取VLAN包
pppoe
- 使用pppoed对,pppoe拨号流程进行筛选
- pppoe连接流程
- 发现阶段
- 以下流程中的SESSION-ID是唯一的,主要用于服务器端与客户端的辨认
- 客户端发出广播
- Active Discovery Initiation (PADI)
- 可以查看详细的信息了解到发起广播的mac地址,通过mac地址来确定是否为自己的客户端发出的广播。
- 并且向外广播自己需要的服务种类
- 服务端回复
- Active Discovery Offer (PADO)
- PPPoE Tags里面会回复一些,相关信息
- 并且表明自己可以提供的服务种类
- 其中在一二两步中Host-Uniq Tag相同
- PADR
- 客户端选择某一分组的服务器进行回复,因为可能收到多个服务器的PADO
- 当客户端发出此消息后,如果未按时收到回复就会重新进行PADI,并且等待时间加倍
- PADS
- 服务器向客户端回复的消息,当主机正确接收消息并验证后,就会进入会话阶
- 其中在三四两步中Host-Uniq Tag相同
- 会话阶段
- 服务端与客户端都会发送LCP数据包来配置与测试通信的链路
- SESSION-ID不能改变,并且与发现阶段的一致
- LCP协商
- 会选择PAP/CHAP中某一种来进行账号的验证
- PAP两次握手、明文账号密码(wireshark能直接看到)、不安全
- CHAP三次握手、只传输账号、较安全
- NCP协商
- 主要功能是协商PPP 报文的网络层参数,如IP 地址, DNS Server
IP 地址, WINS Server IP 地址等 - 双方的协议是通过报文中包含的Option 项进行协商的,每一个Option 都是一个需要协商的问题
- 会话维持
- 设备主动发送Echo Request,若三次未得到服务器的回复,则断开连接,释放IP
- 会话结束
- 当某一方收到PADT后,会话就结束了
ipoe
- 使用bootp对ipoe数据包进行筛选
- ipoe是DHCP+技术,就是DHCP配合其他技术实现用户认证的技术
- ipoe连接流程
- 客户端发送DHCP DISCOVER
- 此阶段由客户端发起
- option字段中的列表,表明客户端需要的参数
- 其中四个IP必须是0
- 服务器端回复DHCP OFFER
- 此消息为服务器端回复的消息
- 由于DHCP DISCOVER消息是广播,因此会有不同的服务器同时回复
OFFER - 在选项中会回复分配给客户端的IP,并且在服务器端此IP的状态是已分配
- 客户端接受到DHCP OFFER,回复DHCP REQUEST
- 客户端会根据需求进行某一条的连接,比如VLAN-tag
- 也有可能根据收到OFFER的先后进行连接,选择最先回复的服务端
- DHCP REQUEST会进行广播,已经选择的服务器IP与自己选择的IP,广播的作用是为了让未选中的服务器做出反应
- 服务器端收到DHCP REQUEST
- 如果客户端选择的服务器IP与自己的不相同并且自己回复过DHCP OFFER,则要清除自己分配的IP地址
- 是自己的IP地址回复,DHCP ACK,在DHCP ACK的option中规定租借时间
- 用户端收到DHCP ACK
- 会广播一个ARP消息,已确定无人使用此IP
- 若IP无人使用客户端成功拿到IP
- 用户的认证需要通过option字段中规定的字段进行沟通。