Zachytavani dat jdouci pres PPP na urovni jadra
Petr Svoboda
svpe na volny.cz
Neděle Březen 13 16:33:48 CET 2005
Zdravim vsechny a prejdu hned k veci.
Delam na projektu, kdy potrebuji vedet, jake bajty jsou posilany pres PPP,
vcetne i tech bajtu, ktere se posilaji pred tim, nez je PPP ve stavu
establisched (LCP protokol). Tento problem jsem vyresil tak, ze jsem nstavil
nasledujici:
/etc/ppp/options
...
debug
kdebug 7
...
/etc/syslog.conf
...
*.=debug -/usr/adm/debug
...
A vysledek jsem v /usr/adm/debug dostal nasledujici:
...
Feb 5 15:37:52 petr3 pppd[230]: sent [LCP ConfAck id=0x1]
Feb 5 15:37:52 petr3 kernel: ppp: write frame, count = 8
Feb 5 15:37:52 petr3 kernel: FF 03 C0 21 02 01 00 04 ...!....
Feb 5 15:37:55 petr3 pppd[230]: sent [LCP ConfReq id=0x1]
Feb 5 15:37:55 petr3 kernel: ppp: write frame, count = 8
Feb 5 15:37:55 petr3 kernel: FF 03 C0 21 01 01 00 04 ...!....
...
Presne co jsem potreboval a pomoci prikazu "tail -f" jsem si nechal prubezne
/usr/adm/debug soubor vypisovat.
PROBLEM:
Potom se mi ale jednohe dne proste pokazilo jadro a musel jsem ho nahradit
jimym.
A od te doby log v /usr/adm/debug vypada takto:
...
Feb 5 15:37:52 petr3 pppd[230]: sent [LCP ConfAck id=0x1]
Feb 5 15:37:55 petr3 pppd[230]: sent [LCP ConfReq id=0x1]
...
>> Nejsou tam hlasky od jadra, nevidim obsah bajtu.
CO S TIM??
Tak jsem ruzne zjistoval co a jak a dosel jsem k zaveru, ze v tom novem
jadru neni podpora pro debug mod. Tak jsem spustil: "make menuconfig" na
jadre 2.4.65 a snazil se tam nejit nejake polozky, ktere by tento problem
vyresily, ale muj prvni pokus se po prelozeni nezdaril.
Takze ma diagnoza: Jadru je nejak potreba dat vedet aby v pripade potreby
vypisovalo debug informace.
OTAZKA NA OSTATNI:
1) Mozna se ubiram spatnym smerem a v jadru to neni.
2) A pokud to je v jadru, tak nevite nekdo kde to tam je?
VEDLEJSI PRODUKT:
Pri mem zjistovani jsem prisel na to, ze se zachytavani tech paketu da
udelat i jinymi zpusoby:
a) Pomoci programku "tcpdump" to jsem sice nezkousel a nevim jak bych z toho
dostal napr. LCP pakety.
b) Pomoci programku "pppdump" a parametru "record file" v /etc/ppp/options.
Pomoci tohoto dostanu uplne vse co jde na PPP, ale je to takove kostrbate. A
protoze jsem stravil spoustu casu s timto problemem, tak bych to rad
vyresil a dotahl do konce.
dik....
--
Petr Svoboda
776 066 702
student, domaci spravce Linuxove site
Další informace o konferenci Linux