2016-07-14 1 views
-1

Я хочу фильтровать пакеты, которые получают (или отправляет) сеть, я не хочу их копировать, я хочу отфильтровать пакет и, если необходимо, удалить этот пакет. поэтому я хочу получить доступ к этому пакету в слое Ethernet, я хочу также фильтровать пакеты, например ARP.Фильтровать пакеты Ethernet с C++ в linux Ubuntu

Я хочу сделать это в Linux, Ubuntu и я использую C++, QT.

Может ли кто-нибудь помочь мне с библиотекой или чем-то еще? или что-то сделать книгу или jurnal, которые делают это. Раньше я искал NETFilter, но это не могло мне помочь.

Благодаря

+1

Вы хотите реализовать wirehark? вы можете использовать библиотеку pcap .. в любом случае это слишком широкий вопрос, он будет закрыт – nayana

+6

Ребята, я хочу написать ОС, которая будет иметь диспетчер окон и разрешение, пожалуйста, предоставьте библиотеку и как это сделать в C++ – nosbor

+0

@otopolsky, почему это будет быть закрытым? no woteshark - это то, что только показывает пакеты, я хочу управлять пакетами, прежде чем перейти к ОС, и если захочу, оставьте их. –

ответ

0

Qt не реализует пакет захватывая функциональность для канального уровня. Вы можете использовать libpcap для захвата пакетов в Linux. Ваша программа почти наверняка потребует прав root, чтобы использовать сетевой интерфейс таким образом.

+0

это в слое Ethernet? –

+0

@ArianB Да, Ethernet - это протокол уровня канала в терминах tcpdump и модели OSI. – Sergey

0

Вам необходимо написать сетевой сетевой драйвер для Linux. На уровне сокета вы присоединяете фильтр, чтобы только пакеты, соответствующие правилам вашего фильтра, принимались и передавались в сокет. Это link будет хорошим началом.

Смежные вопросы