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