pppoe-sniff - examine network for non-standard PPPoE frames
listens for likely-looking PPPoE PADR and session frames and
deduces extra options required for pppoe(8)
Some DSL providers seem to use non-standard frame types for PPPoE frames, and/or
require a certain value in the Service-Name field. It is often easier to sniff
those values from a machine which can successfully connect rather than try to
pry them out of the DSL provider.
To use pppoe-sniff
, you need two computers, a DSL modem and an Ethernet
hub ( not
an Ethernet switch.)
If the DSL modem normally connects directly to your computer's Ethernet card,
connect it to the "uplink" port on the Ethernet hub. Plug two
computers into normal ports on the hub. On one computer, run whatever software
the DSL provider gave you on whatever operating system the DSL provider
supports. On the other computer, run Linux and log in as root.
On the Linux machine, put the Ethernet interface into promiscuous mode and start
. If the ethernet interface is eth0
, for example,
type these commands:
ifconfig eth0 promisc
pppoe-sniff -I eth0
On the other machine, start your DSL connection as usual. After a short time,
should print recommendations for the value of
. Set this value in /etc/ppp/pppoe.conf
indicates that something special is required in
, please e-mail this to email@example.com
along with the name of your ISP and the manufacturer and model number of your
DSL modem. This information will be collated and provided on the PPPoE web
page for users who do not have two computers.
finishes (or you stop it if it seems hung), remember to
turn off promiscuous mode:
ifconfig eth0 -promisc
- -I interface
- The -I option specifies the Ethernet interface to
use. Under Linux, it is typically eth0 or eth1. The
interface should be "up" and in promiscuous mode before you
- The -V option causes pppoe-sniff to print its
version number and exit.
only works on Linux.
was written by Dianne Skoll <firstname.lastname@example.org>.
home page is http://www.roaringpenguin.com/pppoe/
pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8),