发布时间:2019-09-02 07:42:39编辑:auto阅读(1469)
在PPPoE会话的发现阶段,服务器会向客户端分配sessionid,而经过本人测试,这个sessionid的值是依次增大的;即:进行一次会话,得到sessionid为1,这时其他客户端进行拨号时,分配的sessionid为2,依次类推......
那么,如何得到当前已经分配的sessionid范围呢?我们可以模拟一下PPPoE会话,得到新的sessionid。
实现本功能的代码如下:
from scapy.all import * #你的PPPoE服务器的mac地址,请酌情修改 servermac="00:0c:29:c6:ab:bc" #定义PPPoE数据包的格式 def packet(code=0x09,len=0,macadd='ff:ff:ff:ff:ff:ff'): a=Ether()/PPPoE() a.dst=macadd a.type=0x8863 a.payload.version=1 a.payload.type=1 a.payload.code=code a.payload.len=len return a #发送PADR数据包 sendp(packet(macadd=servermac,code=0x19)) #嗅探网卡得到的数据 c=sniff(filter='pppoed',count=1) #PPPoE服务器返回的数据包(报文包含sessionid) print 'PPPoE服务器的最新sessionid是 '+c[0].payload.sessionid
上一篇: MyBatis系列:(3)基于MyBat
下一篇: NS3_Tutorial 中文版: 第五
47867
46433
37321
34767
29336
25998
24951
19970
19568
18056
5810°
6436°
5953°
5978°
7083°
5928°
5969°
6461°
6425°
7803°