Может ли libpcap собирать TCP-сегменты?
-
03-07-2019 - |
Вопрос
Мне нужно перехватить TCP-трафик в моем приложении.
Может ли libpcap повторно собрать сегменты TCP или мне придется делать это вручную?
На домашней странице написано: «Полная документация предоставляется вместе с исходными пакетами в формате man-страницы».После того как я sudo apt-get install libpcap-dev
Я нашел только одного человека.Это вся документация или я просто что-то пропустил?
Спасибо
Решение
Повторная сборка пакетов или потоков не упоминается в pcap(3).
Если я правильно помню, то dsniff использование инструментов либниды для повторной сборки IP-пакетов и TCP-потоков.
Другие советы
Три года назад я использовал libpcap и мне пришлось самому пересобирать TCP-потоки, это не очень сложно, но полно крайних случаев.
Вы можете посмотреть диссекторы Wireshark и опцию «следовать TCP-потоку», если лицензия (GPLv2) подходит для вашего проекта.
В моей (немного более старой) системе:
root@tower:~/desktop/ccan/ccan/tap # dpkg -L libpcap0.7-dev
/.
/usr
/usr/lib
/usr/lib/libpcap.a
/usr/include
/usr/include/net
/usr/include/net/bpf.h
/usr/include/pcap.h
/usr/include/pcap-namedb.h
/usr/share
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/pcap.3.gz
Хм, кажется, они должны быть там:
root@tower:~/desktop/ccan/ccan/tap # man 3 pcap
Reformatting pcap(3), please wait...
Ты должен есть документы man/3, я посмотрел свой, форматирование просто убогое.Я загрузил исходный код в библиотеку через apt-get source, похоже, что единственные документы, включенные в любом случае, — это справочные страницы.
Вы можете попробовать их список рассылки, если да, обязательно ответьте на свой вопрос здесь :)
Нет, libpcap не выполняет повторную сборку TCP-сегмента — libpcap захватывает пакеты, но обработка пакетные данные остаются на усмотрение приложения или библиотеки, используемой приложением.
Что касается man-страниц, то в старых версиях libpcap есть только man-страница pcap(3), в новых версиях, помимо pcap(3PCAP), имеется множество других man-страниц для определенных процедур.