pppoe工作原理

PPPoE协议的工作流程包含发现和会话两个阶段,发现阶段是无状态的,目的是获得PPPoE终结端(在局端的ADSL设备上)的以太网MAC地址,并建立一个唯一的PPPoE SESSION-ID。发现阶段结束后,就进入标准的PPP会话阶段。

当一个主机想开始一个PPPoE会话,它必须首先进行发现阶段,以识别局端的以太网MAC地址,并建立一个PPPoE SESSION-ID。在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器,然后允许用户选择一个。当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立PPP连接的信息。直到PPP会话建立,发现阶段一直保持无状态的Client/Server(客户/服务器)模式。一旦PPP会话建立,主机和接入集中器都必须为PPP虚接口分配资源。

关键认证阶段

会话双方通过LCP协商好的认证方法进行认证,如果认证通过了,才可以进行网络层的IPCP协商。认证过程在链路协商LCP结束后就进行。此时可以抓取到宽带账号密码。

Router OS搭建pppoe认证服务器

使用RouterOS来实现PPPOE服务器的功能。下载ios镜像安装到Vmware虚拟机上。

当然你也可以使用Ubuntu或者是windows来搭建。

Vmware配置

安装过程中最关键一步:网络连接模式改为桥接模式。

因为我们用路由器wan口连接电脑有限网卡,所以虚拟网络编辑器里设置桥接网卡为有线网卡。

安装PPPOE认证服务器

启动虚拟机,安装pppoe服务器,空格选择system和ppp选项就可以了,选中后按i进入安装过程,后面选项都选y就可以。

重启后账号admin密码为空登陆到系统,

配置PPPOE服务器

执行如下指令即可完成PPPOE服务器的配置

/interface pppoe-server server add interface=ether1 service-name=Fake-PPPoE-Server authentication=pap

/interface pppoe-server server enable 0

获取PPPOE账号密码

使用wireshark监听本地连接,把拨号路由器的wan口网线插到电脑的网口上,断开路由电源,重新插上电源,wireshark会抓取到整个PPPOE认证的流程,找到PPP PAP协议里面的Authenticate-Request就是宽带的账号密码,明文传输。

python获取路由器数据包pppoe_利用PPPOE获取路由器中宽带账号密码相关推荐

  1. python获取路由器数据包pppoe_[分享]抓包获取PPPOE账号密码 | 霸王硬上弓's Blog

    PPPOE密码忘记了肿么办-本想使用网络上那普及的RASPPPOE方法,怎奈系统是Windows 8 x64,那兼容性担忧啊.正好环境中有ROS路由器,下挂一台二层交换机,上层是一台思科路由.于是便萌 ...

  2. python获取路由器数据包pppoe_python3登录极路由并读取宽带帐号帐号密码.py

    python3登录极路由并读取宽带帐号帐号密码,fiddler抓包分析过程略... 步骤:1.登录路由,提取stok. 2.用stok拼成url,post请求 3.解析json数据 代码: " ...

  3. python抓取数据包_利用python-pypcap抓取带VLAN标签的数据包方法

    1.背景介绍 在采用通常的socket抓包方式下,操作系统会自动将收到包的VLAN信息剥离,导致上层应用收到的包不会含有VLAN标签信息.而libpcap虽然是基于socket实现抓包,但在收到数据包 ...

  4. python 抓网卡数据包 解析wifi_某高校校园网WIFI嗅探用户名密码实践

    ***********************本文提及的方法仅供安全学习用途,禁止非法利用************************** 0x00 写在前面 某高校校区的校园网WIFI的采用H3 ...

  5. python UDP通信数据包解析将结果写入Excel中

    部分通信协议: 建立UDP连接: server_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) address = ('10.0.17 ...

  6. python获取路由器数据包pppoe_PPPoE协议***4:如何得到PPPoE服务器的mac地址

    在局域网中,怎样得到PPPoE服务器的mac地址是一件头疼的事情,特别是在windows环境下:得到PPPoE服务器mac地址的实现方法有两种: 1.在windows下,我们运行wireshark软件 ...

  7. pandas获取dataframe数据列的数据类型、获取dataframe每类数据类型数据列的个数、使用select_dtypes函数、include参数以及exclude参数按照数据类型筛选数据

    pandas获取dataframe数据列的数据类型.获取dataframe每类数据类型数据列的个数.使用select_dtypes函数.include参数以及exclude参数按照数据类型筛选数据 目 ...

  8. c#ras获取宽带账号密码_如何将远程科学Ras pi数据获取到基于云的仪表板

    c#ras获取宽带账号密码 This post is a learning experience for myself figuring out a way to get my data from a ...

  9. python获取路由器数据包_python读取路由信息

    手上有一台上古时代的tp-link,获取ip没问题,但是速度太慢,于是研究了水星mac1200R. 通过Firebug研究登陆可以知道 首先登陆的时候,需要将密码编码以后以json形式传给路由器,然后 ...

最新文章

  1. SqlParameter参数方式操作数据库(存储过程)
  2. 神经网络为何非激活函数不可?
  3. html线条绕圆旋转,js围绕圆旋转
  4. BZOJ 1786 DP
  5. zabbix的trigger
  6. FLASH与ASP.NET通讯[Flash | CS3 | ActionScript | ASP.NET | FluorineFx ]
  7. Tomcat 简单容器化
  8. 时光 php,ctphp-php教程-时光划过那刹那-PHP教程--创业的风,吹向了年轻之长藤个人博客网站...
  9. Ubuntu sudo nopasswd方法
  10. Java笔试题编程题大全(有详细答案)
  11. 阿里云数据库开源发布:PolarDB 三节点高可用的功能特性和关键技术
  12. 有些事情让感情无处安放
  13. Mybatis系列2:模板模式在Mybatis中的执行器中的应用
  14. BGP通过团体和MED属性灵活控制回程路由
  15. SEO图片代码优化技巧汇总
  16. 【Java面试】Linux
  17. golang 如何快速测试代码
  18. QQ宠物智能辅助开发
  19. 10则极具内涵的程序猿幽默
  20. 华为手表GT2 模拟加密门禁卡

热门文章

  1. 笔记:《高效能人士的七个习惯》第七章 习惯四 双赢思维——人际领导的原则
  2. Docker 1.12.1初体验
  3. mysql的安装后;Navicat连接出现1103详细解决方式
  4. 内存对齐是什么?为什么要内存对齐?
  5. JavaScript 笔记-放大镜案例
  6. python自动聊天机器人_用python实现的一个自动聊天的机器人
  7. Thread.currentThread().interrupt()和Thread.interrupted()和Thread.currentThread().isInterrupted()
  8. 【C语言进阶】字符函数和字符串函数
  9. 【贝叶斯神经网络训练】(torch实现)
  10. 最小二乘,最大似然,最大后验,查准率与查全率