I've created a very simple Python script for scanning PPPoE Servers, why? Because I can't find any on the internet other than this paid (with trial) software PPPoE services monitor
Make sure scapy module is installed using "pip install scapy"
This script isn't even remotely pretty but it works:
Make sure to change the iface variable to whatever interface is yours (NOTE: PPPoE Servers cannot be scanned on WiFi, use Ethernet). To get the interface name in Windows open cmd and type "ipconfig /all" and copy the Description of your Ethernet interface.
This will print the PPPoE Servers by sniffing for PADO Packets after sending a PADI Discover.
Sometimes the PADO Packet doesn't get sniffed so make sure to run the script a few times. I may make it fancier in the future.
Make sure scapy module is installed using "pip install scapy"
This script isn't even remotely pretty but it works:
Code:
from scapy.all import *
from scapy.layers.ppp import *
iface="Realtek PCIe GbE Family Controller"
PADI = 0x09
PADO = 0x07
PADR = 0x19
PADS = 0x65
PADT = 0xa7
def sendPADI(smac="00:2B:67:F8:1F:78"):
padi_discover = Ether(src=smac, dst="ff:ff:ff:ff:ff:ff", type=0x8863) / PPPoED(version=1, type=1, code=PADI,
sessionid=0x0,
)
sendp(padi_discover, iface=iface)
def packet_callback(pkt):
if pkt.haslayer(PPPoED):
if pkt[PPPoED].code == PADO:
for p in pkt:
a=p.show(dump=True)
print(a)
sendPADI()
sniff(filter="(pppoed or pppoes)", prn=packet_callback, store=0,iface=iface)
Make sure to change the iface variable to whatever interface is yours (NOTE: PPPoE Servers cannot be scanned on WiFi, use Ethernet). To get the interface name in Windows open cmd and type "ipconfig /all" and copy the Description of your Ethernet interface.
This will print the PPPoE Servers by sniffing for PADO Packets after sending a PADI Discover.
Sometimes the PADO Packet doesn't get sniffed so make sure to run the script a few times. I may make it fancier in the future.