前言

回家时买了一台极路由准备换掉家里老掉牙的阿里路由器,想进后台看一下宽带账号密码,咦???后台密码是什么来着???

我陷入了沉思,家里的路由器一般都是pppoe拨号,而路由器在与pppoe认证服务器通过LCP协商好认证方法进行后,极可能会明文传输宽带账号和密码,那我们能不能本地搭建pppoe认证服务器并且路由器wan口连接本地网卡,wireshark抓取宽带账号密码呢?说干就干。

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就是宽带的账号密码,明文传输。

写在后面

美滋滋使用双频段千兆路由器了。

利用PPPOE认证获取路由器中宽带账号密码的更多相关文章

  1. SharePoint开发——利用CSOM逐级获取O365中SharePoint网站的List内容

    博客地址:http://blog.csdn.net/FoxDave 本文介绍如何利用SharePoint客户端对象模型(.NET)逐级获取Office 365网站中List的内容,仅仅是示例,没有 ...

  2. android 利用反射机制获取drawable中所有的图片资源

    public List<Map<String,Object>> getGridData() { list=new ArrayList<Map<String,Obje ...

  3. 【Quartz】解密properties配置文件中的账号密码

    在配置quartz时,为了保密某些信息(特别是账号密码),通常会使用密文.那么在实际使用这些配置信息时,需要进行解密.本文提供一种解密方法如下: (1)假设在properties文件中加密了账号密码 ...

  4. [C++] 获取IE代理服务器的账号密码

    很多程序需要使用'浏览器设置'的代理服务器,IE设置的代理服务器有可能是需要账号密码的.怎样编程获取浏览器设置的代理服务器的账号密码呢? InternetQueryOption(NULL, INTER ...

  5. (一)利用 mdb 调试获取 nvlist_t 中 nvpair_t(name/value) 对

    服务器:192.168.2.122 root@2236:~# mdb -k> ::spaADDR                 STATE NAME                       ...

  6. 利用函数回调获取setInterval中返回的值

    我们都知道,定时器里面想返回值如果你用return根本没作用,那么怎么拿到定时器所返回的值呢, 现在只需要利用回调函数,给主函数传一个函数类型的参数callback,然后把想要返回的num再传给cal ...

  7. java利用反射机制获取list中的某个字段并以list形式返回

    public static<T> List<Object> listToList(Collection<T> list,String fieldName) thro ...

  8. 获取tp-link中的拨号密码

    一日,公司网络巨慢,丢包非常严重,打电话给电信,说信号稳定,可能是我们的路由器有问题,让我们直接用电脑拨号 心中一闷,鬼知道拨号密码是多少,于是百度了一下,大概有以下几种方法 一.使用工具,把路由器的 ...

  9. 802.1X 账号密码+设备信息双重认证

    名词解释 802.1X: IEEE802 LAN/WAN 委员会为解决无线局域网网络安全问题,提出了 802.1X 协议.后来,802.1X协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用 ...

随机推荐

  1. Java9最受期待的5大新特性

    虽然Java9要等到明年才正式发布,但是现在网上已经有了各种各样的有关Java9新特性的文章了,今天小编也将为大家分享除了通常猜测之外的一些很值得期待的5个新特性. 1.Java + REPL = j ...

  2. [AtCoder AGC27A]Candy Distribution Again

    题目大意:把$x$个糖果分给$n$个人,必须分完,如果第$i$个人拿到$a_i$个糖果,就会开心,输出最多多少人开心 题解:从小到大排序,判断是否可以让他开心,注意最后判断是否要少一个人(没分完) 卡 ...

  3. POJ A Simple Problem with Integers | 线段树基础练习

    #include<cstdio> #include<algorithm> #include<cstring> typedef long long ll; #defi ...

  4. 命令__shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$ Shell本身的PID(ProcessID)$! Shell最后运行的后台Process的PID$? 最后运行的命令的 ...

  5. Location of ESXi 5.1 log files

    Purpose This article provides the default location of log files on an ESXi 5.1 host. For other produ ...

  6. 培训补坑(day2:割点与桥+强联通分量)

    补坑ing... 好吧,这是第二天. 这一天我们主要围绕的就是一个人:tarjan......创造的强联通分量算法 对于这一天的内容我不按照顺序来讲,我们先讲一讲强联通分量,然后再讲割点与桥会便于理解 ...

  7. 基于CSOCKET的Client简单实例(转)

    原文转自 http://blog.csdn.net/badagougou/article/details/78410382 第一步:创建一个基类为CSOCKET类的新类,Cclient,并在主对话框类 ...

  8. MAC删除目录下的“.svn”文件的方法

    http://bbs.feng.com/read-htm-tid-7803070.html MAC删除目录的“.svn”文件:打开终端,进到所在的目录,然后出入一下代码find . -name &qu ...

  9. UVALIVE 2431 Binary Stirling Numbers

    转自别人的博客.这里记录一下 这题是定义如下的一个数: S(0, 0) = 1; S(n, 0) = 0 for n > 0;S(0, m) = 0 for m > 0; S(n, m) ...

  10. Unicode 和 ANSI

    Project Properties -> General-> Character set,里面显示了是不是unicode. Unicode处理String的方式不一样,一定要注意!!   ...