假如忘记了上网账号和密码,最简单的就登上路由器看看就知道,但如果路由器的秘密也忘记该怎么办?

还有个办法就是通过模拟PPPoE协议从路由器获取。

路由器通常是通过PPPoE协议接入网络,在路由器连通时不断发送PPPoE请求,我们可以模拟成PPPoE服务器发送响应,诱导路由器给我们发送账号和密码。

首先介绍一个路由器从发送请求到发送验证信息,即账号密码都有哪些过程。

上图是用wireshark抓包,这些包直接电脑用网线脸上路由器就可以抓得到。步骤不多,协议内容也很简单,都是基于以太网封装的报文。

PADI   路由器不断广播发出,初始化,目的是寻找可供的PPPoE服务initiation

PADO  服务器向路由器的响应,提供自己的信息并响应提供服务offer

PADR  路由器收到PADO后发出请求报文

PADS 服务器返回请求响应,主要是发送sessionID,以便接下来的PPP对话

以上报文主要目的便是寻找服务和取得sessionID

接下来几个报文时路由器在跟服务器协商通讯设置,当双方都发出Request并收到对方的Ack后路由器就会发送验证报文,及账号密码了。

接下来一次看看这些个报文分别长什么样,不同路由器可能有一定程度区别,但本质上是一致的。

PADI

前12个字节分别是目标mac地址和源mac地址,0x8863代表以下报文是PPPoE Discovery报文。wireshark已经分得很清晰了,而且这个报文是最好获取的。主要就是payload内容PPPoE Tags会带上一个Host-Uniq选项,这个是用来标识PADO报文响应来自于哪个请求。

PADO

需要修改的地方有,以太网封装的源地址和目的地址,PPPoED报文的Code改为0x07,除了来自PADI的Host-Uniq外,添加几个payload信息,AC-Cookie信息0020 行的 01 04表示接下来是AC-Cookie标签,00 10 表示该标签的长度问 0x10,即16个字节,这个长度并不是固定的,然后是AC-Name,和上面同理。

PADR

PADR会带着一个新的Host-Uniq过来请求,所以这个依然要保存下来。PADR的Code是0x19,AC-Cookie便是PADO发送的标签信息了。

PADS

PADS是PPPoED的最后一步,给路由器发送sessionID,这个报文主要不同的地方在于它的session ID不是0x0000了,而是一个由服务器给出的占用两个字节数,这个sessionID用于之后的PPP通讯辨识,之后的每个报文都会带上这个sessionID。报文Code为0x65,Host-Uniq来自PADR。

所有的报文长度信息都要记得根据自己的payload长度进行更改,不然的话报文格式错误,路由器就有可能会不理你的。

如果顺利的话,接下来路由器会发送Configuration Request,这里最简单的做法就是自己找个可行的设置信息,按照这个写出报文请求报文和ack报文发送过去,如果路由器同意的话,那就完工了,路由器就会把账号密码发过来验证。下面两个报文是我测试并在我的路由器上成功获得账号密码的设置信息报文。因为Request报文和Ack报文只有一个字节不同,所以需要修改的地方非常少。

Request请求报文

Ack响应报文

在双方达成协议后就顺利的到账号和密码了呢。都是明文,所以很好辨别,是不是很激动!!!

抓包和发包我是用的Python的scapy模块写的,功能很强大,以后肯定还会有需要用到的地方。代码的话我觉得最好还是根据自己路由器的具体情况写,针对性的写也比较简单,否则要么太复杂,耗时间,要么局限性太大,不好用。

路由器密码和上网账号密码都忘记了怎么办,可以通过模拟PPPoE协议从路由器获取相关推荐

  1. 计算机上的用户名是哪一个,电脑在哪登陆上网账号密码

    电脑联网的时候有时候需要账号密码是不是有点烦躁呢?下面是学习啦小编为大家整理的关于电脑在哪登陆上网账号密码,一起来看看吧! 电脑在哪登陆上网账号密码 遇到这种情况,首先要从电脑的IE浏览器入手.电脑打 ...

  2. android华为账号登陆,华为手机怎么找回华为账号密码?华为账号密码两种找回方法...

    忘记华为账号密码真的是一件让人头疼的事,账号绑定的游戏进不去.喜欢的主题无法下载,真是让人干着急,别担心,小编这就整理了一些如何找回华为账号密码的方法,一起来了解下吧! 方法一 通过华为官方链接找回密 ...

  3. git 记住账号密码和清除账号密码

    git 默认不记住账号密码,每次 clone 都要输入账号密码: 记住账号密码: 我们执行下面的命令 git config --global credential.helper store 这个命令其 ...

  4. 百度云(主机管理密码、FTP登录密码、MySQL账号密码)配置 - 入口篇

    百度云(如何进入)主机控制面板 ?如何设置FTP密码.管理员密码.数据库密码? 一.控制面板入口 第一步: 入口·点击访问入口地址 第二步:访问入口地址 第三步:设置FTP密码 完成. 二.FTP密码 ...

  5. 从路由器里找到宽带账号密码

    1.    在浏览器中输入路由器的ip地址,输入密码进入路由器 2.    找到系统工具下的备份和载入配置,点击备份配置文件下载配置文件 3.    下载RouterPassView,打开配置文件,显 ...

  6. 我的世界我服务器注册密码大全,网易账号密码大全我的世界 | 手游网游页游攻略大全...

    发布时间:2015-11-16 逆战里有很多神器,基本每个版本就有.还有不少预售的武器都贵的要死.但是还是有不少土豪玩家愿意让我们平民玩家帮助他们玩.顺便还能体验一下装x当土豪的感觉.所以赶紧来看看9 ...

  7. mysql 更改密码 alter_MySQL修改账号密码方法大全

    前言: 在日常使用数据库的过程中,难免会遇到需要修改账号密码的情景,比如密码太简单需要修改.密码过期需要修改.忘记密码需要修改等.本篇文章将会介绍需要修改密码的场景及修改密码的几种方式. 1.忘记 r ...

  8. 定期修改mysql 密码_MySQL修改账号密码方法大全

    前言: 在日常使用数据库的过程中,难免会遇到需要修改账号密码的情景,比如密码太简单需要修改.密码过期需要修改.忘记密码需要修改等.本篇文章将会介绍需要修改密码的场景及修改密码的几种方式. 1.忘记 r ...

  9. linux的xshell怎么保存密码,Xshell保存账号密码方法

    Xshell安全的终端模拟器,用户可以轻松安全的从Windows PC上访问主机.经常使用xshell用户就会知道账号.密码是特别重要的东西,虽然xshell是可以自动登录的,但是在这个之前我们至少要 ...

最新文章

  1. ajax跨界表单,ajax使用jsonp解决跨域问题
  2. 前沿 | 一文详解自动驾驶激光雷达和摄像头的数据融合方法
  3. android的百度地图sdk获取ip,基于百度地图API的ip地址查询
  4. 关于iframe中session 失效问题
  5. SpringSecurity remeber功能源码跟踪
  6. java读取文件跳过_在Java中读取文本文件-为什么跳过行?
  7. Matlab中错误使用mex
  8. ArcGIS水文分析实战教程(3)DEM数据准备
  9. HDU 2222 Keywords Search(AC自动机)题解
  10. 谈谈我对面向对象的理解
  11. python实用程序育儿法下载_Python机器学习经典实例
  12. Android程序配置热点IP,Android 10版本获取已连接本机热点的ip
  13. sms 短信通平台 发送短信
  14. 关于C#如何引用Microsoft.Office.Interop.Excel
  15. MakeMKV for mac(MKV视频格式转换工具)
  16. 23位子网掩码是多少_23位子网掩码 网关计算
  17. iOS开发-极光推送SDK使用笔记
  18. Adobe Dreamweaver 的基础知识
  19. [vSphere]关闭ESXi特定警报
  20. 英语词性篇 - 英语疑问词

热门文章

  1. 一对一视频直播源码实现网络中一对一视频聊天
  2. 区块链媒体宣发的注意事项
  3. 音频电路设计中的基本知识(-)
  4. proteus和matlab的区别,Proteus仿真与实际的差别
  5. 如何解决全局工业相机飞拍拖影问题
  6. 欧冠16强抽签概率计算器
  7. SSJ-21B时间继电器
  8. ICS计算系统概论LC3汇编实验Lab5—中断、递归解决汉诺塔问题
  9. 妹妹,我要告诉你爸爸
  10. 大力哥谈 DALI - DALI 产品知多少