Portál AbcLinuxu, 13. května 2025 23:44

Dotaz: parser pcap souboru v C

23.7.2008 17:12 Chomi
parser pcap souboru v C
Přečteno: 623×
Odpovědět | Admin
Zdravim všechny a prosím o pomoc. Snažím se vytvořit software, který by analyzoval soubory v pcap formátu (předpokládejme, že budou pouze z programu tcpdump). Co to má analyzovat atd. není podstatné. Snažil sem se najít nějakou knihovnu, která by mi pomohla pcap formát přelouskat z binární podoby do podoby textové, abych obsah hlaviček paketů mohl prezentovat dále, stejně jako tomu je u wireshark nebo samotného tcpdumpu. Navíc jsem byl okolnostmi donucen to vytvořit v C, ve kterém znám opravdu základy. Zkoušel sem použít knihovnu pcap.h, což se samozřejmě nabízelo jako první, ale nedokázal jsem z paketu vydolovat potřebné informace. Po pátrání přes google jsem našel jeden prográmek, který dělal podobnou věc a snažil se ho upravit k obrazu svému, ale nejsem si jistý zda funguje správně právě to vytažení dat, protože ukazuje například úplně jiná ID IP hlavičky než wireshark a tomu bych věřil víc. Pokud by existovala nějaká knihovna, která má funkce pro parserování takového formátu, určitě by mi to ulehčilo práci. Snažil sem se hledat i ve zdrojáku wireshark, ale tam sem v hledání neuspěl.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.7.2008 18:20 Ketling | skóre: 8
Rozbalit Rozbalit vše Re: parser pcap souboru v C
Odpovědět | | Sbalit | Link | Blokovat | Admin
No podľa mňa bude najvhodnejšie použiť práve tú knižnicu pcap (používa ju ako tcpdump tak aj wireshark). Problém je možno práve v nedostatočnej znalosti C. Skúste sem hodiť nejaký kus zdrojáku, ktorý nefunguje a snáď sa nájde riešenie.
23.7.2008 21:50 Nikola Pajkovský | skóre: 16
Rozbalit Rozbalit vše Re: parser pcap souboru v C
Odpovědět | | Sbalit | Link | Blokovat | Admin
Taky bych pouzil pcap.h. Posli zdrojak rad se na to kouknu.
Save the whales. Feed the hungry. Free the mallocs
9.8.2008 18:52 koso
Rozbalit Rozbalit vše Re: parser pcap souboru v C
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mozno trocha zbytocna otazka, ale co chapes pod textovou podobou? Ak zobrazenie packetu pomocou HEX znakov tak tu je najlahsie pouzit kniznicu libpcap. V samotnej dokumentacii je presne na toto hotovy a funkcny priklad. Ak myslis textovym zobrazenim rovno interpretaciu binarnych udajov (rozklad hlaviciek) tak to by bol asi znacny problem, hlavne ak by si potreboval spracovat aj ine ako zakladne protokoly.

Co sa tyka zleho zobrazenia ID v hlavicke IP, moze to byt sposobene zlou interpretaciou binarnych dat zo suboru pcap, sposobenou little-big endianom. Tento problem sa mohol vyskytnut, ak pri citani suboru nebola pouzita kniznica libpcap. Viac o formate suborov a ako odstranit tento problem sa da docitat tu: http://wiki.wireshark.org/Development/LibpcapFileFormat

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.