在局域网中,怎样得到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()