python pppoe拨号_Python实现PPPOE攻击工具
前言
大家可能对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攻击工具相关推荐
- ppoe拨号服务器没响应,pppoe拨号失败怎么办 pppoe拨号失败解决方法
pppoe拨号失败怎么办 pppoe拨号失败解决方法 2020-12-18 17:19:46 来源:网络整理 扫码可以: 1.在手机上浏览 2.分享给微信好友或朋友圈 摘要: pppoe拨号失败解决 ...
- linux 路由器pppoe拨号,linux下pppoe拨号上网
Linux下的ADSL拨号上网大体有2种方法:一是用系统自带的图像界面(在网络里面建立新拨号连接,类似于WIN下),一是用命令行.下面呢我就主要介绍一下在命令行环境下设置上网. 一.解压缩 #tar ...
- python基础框架_Python基础框架和工具-阿里云开发者社区
Python基础框架和工具 最近在学Python金融大数据分析,在安装Python进行大数据分析的环境时遇到很多问题,例如:在安装pandas包时候就要到各种错误,总是缺少很多安装包,最后发现利用Py ...
- python桌面翻译_Python实现桌面翻译工具【新手必学】
Python 用了好长一段时间了,起初是基于对爬虫的兴趣而接触到的.随着不断的深入,慢慢的转了其它语言,毕竟工作机会真的太少了.很多技能长时间不去用,就会出现遗忘,也就有了整理一下,供初学者学习和讨论 ...
- 如何用python做界面_Python+AutoIt实现界面工具开发
原标题:Python+AutoIt实现界面工具开发 前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有 ...
- python tracer函数_Python流程控制常用工具和函数定义
在我们的工作中,我们使用ddagent ver.5作为收集工具,收集和报告托管服务器的性能指标,并对ddagent进行一定程度的定制.经过多次功能迭代,发现一批在线运行时间长的托管服务器占用了太多内存 ...
- python气泡图画_Python使用Plotly绘图工具,绘制气泡图
今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: importplotly as pyimp ...
- python调用第三方软件_Python经常使用第三方工具、库、骨架
:它提供强大的图形处理的能力,并提供广泛的图形文件格式支持.该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋转等. 是用户进行图象处理的强有力工具. matpl ...
- python如何测试仪器_Python中的测试工具
当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...
最新文章
- Android基于IIS的APK下载(五)IIS的配置
- 计算机组成原理两数相加指令,计算机组成原理复习题
- 笨方法学python3-笨办法学python3 pdf下载|
- 2017《面向对象程序设计》作业四
- LDA 线性判别分析模型
- 如何自己亲手制作一个防疫地图?
- 机器学习算法之 K-means、层次聚类,谱聚类
- Nginx进程以及事件处理模型
- 上海大学计算机学院调剂,上海大学微电子学院2021年硕士研究生调剂有关事项说明...
- jquery easyui datagrid 获取Checked选择行(勾选行)数据
- 《重构》阅读笔记-代码的坏味道
- 手机测试耳机音质的软件,耳机音质测试软件有哪些
- 企业邮箱的反垃圾邮件功能是怎么实现的?
- 畅通工程2(prim模拟链表结构体建图+kru)
- SpringCloud 网关 Gateway
- 网络管理之基础知识详解
- Java面向对象 ----多态
- 区块链相关术语(中英对照)
- 金山系绕不开三件事:求伯君的爱情、雷军的人品,还有他的铁皮屋
- python读文件的三种方式_Python|读、写Excel文件(三种模块三种方式)