在局域网中,怎样得到PPPoE服务器的mac地址是一件头疼的事情,特别是在windows环境下;得到PPPoE服务器mac地址的实现方法有两种:
1.在windows下,我们运行wireshark软件,可以得到所有进出网卡的数据包格式和内容,在wireshark的过滤器上设置为PPPoE过滤,然后进行空用户名密码拨号,可以看到PPPoE发现阶段的4个数据包,具体实现方法请google搜索,网上的教程很多。
2.可以写一个python程序,先发送一个PADI数据包,这时PPPoE服务器会回复一个PADR数据包,根据此数据包可以到的PPPoE服务器的mac地址。python代码如下:
from scapy.all import * #定义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(code=0x09)) #嗅探网卡得到的数据 c=sniff(filter=‘pppoed‘,count=1) #PPPoE服务器返回的数据包(服务器的mac地址) c[0].show()
本文出自 “python小程序” 博客,请务必保留此出处http://mdh6789.blog.51cto.com/7270513/1569861
原文地址:http://mdh6789.blog.51cto.com/7270513/1569861