Может ли libpcap пересобрать сегменты TCP - PullRequest
3 голосов
/ 01 марта 2009

Мне нужно прослушать TCP-трафик в моем приложении.

Может ли libpcap пересобрать сегменты TCP или я должен сделать это вручную?

На домашней странице написано "Полная документация предоставляется с исходными пакетами в формате man-страницы". После того, как я sudo apt-get install libpcap-dev я нахожу только одного человека pcap. Это вся документация или я просто что-то пропустил?

Спасибо

Ответы [ 4 ]

4 голосов
/ 02 марта 2009

Сборка пакетов или потоков не упоминается в pcap (3).

Если я правильно помню, инструменты dsniff используют libnids для сборки IP-пакетов и потоков TCP.

4 голосов
/ 03 марта 2009

Три года назад я использовал libpcap, и мне пришлось самостоятельно собирать потоки TCP, это не очень сложно, но в нем много угловых случаев.

Вы можете посмотреть на диссекторы Wireshark и опцию «следовать TCP-потоку», если лицензия (GPLv2) подходит для вашего проекта.

2 голосов
/ 01 марта 2009

В моей (немного более старой) системе:

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, похоже, что единственными документами, связанными в любом случае, являются страницы руководства.

Вы можете попробовать их список рассылки, если вы это сделаете, обязательно ответьте на свой вопрос здесь:)

1 голос
/ 20 октября 2012

Нет, libpcap не будет выполнять повторную сборку сегмента TCP - libpcap перехватывает пакеты, но обрабатывает данные пакета оставляются на усмотрение приложения или библиотеки, используемой приложением.

Что касается man-страниц, в старых версиях libpcap просто есть man-страница pcap (3), в более новых версиях, помимо pcap (3PCAP), есть куча других man-страниц для определенных подпрограмм.

...