前言

大家可能对PPPOE不是很熟悉,但是肯定对拨号上网非常熟悉,拨号上网就是用的这种通信协议。一般PPPOE认证上网主要用于校园网或者小区网中,拨号界面如下图所示。

但是PPPOE这种通信协议,是有一些安全漏洞的。下面从三个方面讲解一下PPPOE的攻击方式,以及如何使用Python实现攻击工具。

纯粹技术分享,切莫违反国家法律。

第一种方式:账号密码窃取

对于PPPOE认证上网的过程如下图所示,分为发现阶段和会话阶段,发现阶段分为PADI,PADO,PADR,PADS。

其中窃取账号密码的问题就出现在第一步PADI。PPPOE客户端进行连接时,在PADI阶段会发送一个广播包,寻找局域网中的PPPOE服务器,从而完成认证。

这时候我们需要做的是伪装成PPPOE服务器,回复请求信息,抢先和客户端通信,并强制客户端使用明文传输方式,从而获取账号和密码。下面我们通过wireshark抓一下数据包,更加直观的观察一下寻找PPPOE服务器的过程。点击宽带连接,使用Wireshark监听,会发现广播包,这时候pppoe服务器会进行回复。

攻击场景:在本机电脑上开启PPPOE欺骗程序,开始进行监听,并在局域网中的其他电脑上进行宽带连接,观察欺骗效果。如下图所示,已经成功欺骗出了账号和密码。

窃取账号的部分代码内容如下:

第二种方式:客户端断网攻击

拨号客户端(宽带连接)与 PPPOE服务器成功连接后,那服务器是如何表示客户端呢?通俗的说,服务器必须要知道客户端是哪一个,这样通信才不能错乱。PPPOE采用的是分配ID的方式,也就是给每个客户端随机分配一个int型的整数。通过wireshark抓包,我们可以清晰地看到ID的分配。

乍一听是没有问题,但是问题正在于ID的范围,为int类型。PPPOE服务器通过分配给客户端一个1-65535的值来唯一标识客户端。只要知道对方电脑MAC地址,循环发送65535个PADT断网包,即可以实现断网攻击,而对方电脑的MAC可以通过ARP请求获得。

什么是PADT断网包?通过wireshark抓包,咱们看一下断网包的内容。断开宽带连接,使用Wireshark监听,会发现PADT断网包,进行数据帧分析和模拟即可。

攻击场景:一台电脑运行断网程序,通过ARP请求获取对方电脑MAC地址,模拟PADT包,将另外一台电脑的宽带连接断掉。

断网攻击的部分代码内容如下:

第三种方式:服务器DoS攻击

DoS攻击是针对PPPOE服务器的,其实原理很简单。现在基本上高级点的路由,对ARP洪水攻击都做了很好的防护,对大量的arp包进行了过滤,但是对PPPOE包却没有做防护,使大量的PPPOE包可以直达PPPOE服务器,从而打垮服务器,这样会导致大规模的断网。

Dos攻击的部分代码内容如下:

最后 完整代码

Python实现的PPPOE攻击工具,使用了scapy包,可不要和爬虫框架scrapy混淆了。scapy是一款非常优秀的网络协议工具包,具有发包和收包的功能,非常强大。接下来我们会接着讲解这个scapy包,至于PPPOE攻击工具的完整代码,欢迎加入公众账号,查看原文。

python pppoe拨号_Python实现PPPOE攻击工具相关推荐

  1. ppoe拨号服务器没响应,pppoe拨号失败怎么办 pppoe拨号失败解决方法

    pppoe拨号失败怎么办 pppoe拨号失败解决方法 2020-12-18 17:19:46  来源:网络整理 扫码可以: 1.在手机上浏览 2.分享给微信好友或朋友圈 摘要: pppoe拨号失败解决 ...

  2. linux 路由器pppoe拨号,linux下pppoe拨号上网

    Linux下的ADSL拨号上网大体有2种方法:一是用系统自带的图像界面(在网络里面建立新拨号连接,类似于WIN下),一是用命令行.下面呢我就主要介绍一下在命令行环境下设置上网. 一.解压缩 #tar ...

  3. python基础框架_Python基础框架和工具-阿里云开发者社区

    Python基础框架和工具 最近在学Python金融大数据分析,在安装Python进行大数据分析的环境时遇到很多问题,例如:在安装pandas包时候就要到各种错误,总是缺少很多安装包,最后发现利用Py ...

  4. python桌面翻译_Python实现桌面翻译工具【新手必学】

    Python 用了好长一段时间了,起初是基于对爬虫的兴趣而接触到的.随着不断的深入,慢慢的转了其它语言,毕竟工作机会真的太少了.很多技能长时间不去用,就会出现遗忘,也就有了整理一下,供初学者学习和讨论 ...

  5. 如何用python做界面_Python+AutoIt实现界面工具开发

    原标题:Python+AutoIt实现界面工具开发 前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有 ...

  6. python tracer函数_Python流程控制常用工具和函数定义

    在我们的工作中,我们使用ddagent ver.5作为收集工具,收集和报告托管服务器的性能指标,并对ddagent进行一定程度的定制.经过多次功能迭代,发现一批在线运行时间长的托管服务器占用了太多内存 ...

  7. python气泡图画_Python使用Plotly绘图工具,绘制气泡图

    今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: importplotly as pyimp ...

  8. python调用第三方软件_Python经常使用第三方工具、库、骨架

    :它提供强大的图形处理的能力,并提供广泛的图形文件格式支持.该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋转等. 是用户进行图象处理的强有力工具. matpl ...

  9. python如何测试仪器_Python中的测试工具

    当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...

最新文章

  1. Android基于IIS的APK下载(五)IIS的配置
  2. 计算机组成原理两数相加指令,计算机组成原理复习题
  3. 笨方法学python3-笨办法学python3 pdf下载|
  4. 2017《面向对象程序设计》作业四
  5. LDA 线性判别分析模型
  6. 如何自己亲手制作一个防疫地图?
  7. 机器学习算法之 K-means、层次聚类,谱聚类
  8. Nginx进程以及事件处理模型
  9. 上海大学计算机学院调剂,上海大学微电子学院2021年硕士研究生调剂有关事项说明...
  10. jquery easyui datagrid 获取Checked选择行(勾选行)数据
  11. 《重构》阅读笔记-代码的坏味道
  12. 手机测试耳机音质的软件,耳机音质测试软件有哪些
  13. 企业邮箱的反垃圾邮件功能是怎么实现的?
  14. 畅通工程2(prim模拟链表结构体建图+kru)
  15. SpringCloud 网关 Gateway
  16. 网络管理之基础知识详解
  17. Java面向对象 ----多态
  18. 区块链相关术语(中英对照)
  19. 金山系绕不开三件事:求伯君的爱情、雷军的人品,还有他的铁皮屋
  20. python读文件的三种方式_Python|读、写Excel文件(三种模块三种方式)

热门文章

  1. php百度坐标转腾讯坐标,PHP实现腾讯与百度坐标转换
  2. 一位计算机牛人的心得,谈到计算机和数学,很实用~
  3. 【前端面试】Part 1:2020届初级前端校招笔试题及面经总结 —— 基础知识题
  4. 前端的学习之路:初级CSS---米兔练习
  5. 名帖232 张雨 行书《行书帖选》
  6. 法力无边的stage-0
  7. HTML小游戏9 —— 潜行游戏《侠盗罗宾汉》(附完整源码)
  8. 阿里云天池大数据长期赛:金融风控-贷款违约预测(含代码)
  9. 淘宝活动应该怎么参加吗?报名活动怎样容易通过?
  10. 动态规划之最长回文子串