C ++ Packet-Sniffer с использованием zeroMQ или boost.asio

У меня есть знания в C ++ и какие-то знания в области сетевого программирования … но я понятия не имею, с чего начать Sniffer … Моя проблема в том, что я создал сервер и клиент.
Я нахожусь в той же сети, что и клиент, а сервер находится далеко от нас :). Как я могу прослушать данные, которые отправляет клиент?

Мне все равно, использовать ли библиотеку наддува или zeroMQ. Чтобы было легче понять, я сделал это:

[SERVER]<-----MESSAGE-----[Router]<-----MESSAGE-----[CLIENT]
|
|
V
[PACKET-SNIFFER]
[PACKET-SNIFFER] и [CLIENT] находятся в одной сети, подключенной по Wi-Fi.

0

Решение

Как я могу прослушать данные, которые отправляет клиент?

Libpcap в ООН * Х, WinPcap на винде.

[PACKET-SNIFFER] и [CLIENT] находятся в одной сети, подключенной по Wi-Fi.

Тогда вам придется захватить в режим монитора. В Libpcap есть API для включения режима монитора, но в настоящее время они хорошо работают только в OS X; в Linux вам, вероятно, придется использовать aircrack-ng скрипт airmon-ng чтобы включить его, и вам, возможно, придется сделать что-то еще на * BSD. WinPcap не имеет этих API, и нет сценария, эквивалентного airmon-ng для Windows.

1

Другие решения

Приложения связываются с сетью через сокеты. Сокеты реализованы операционными системами. Если вы хотите выяснить, какие потоки данных находятся между вашим клиентом и сетью, лучше всего было бы прочитать документацию по сокетам вашей конкретной ОС и узнать, какие инструменты ОС предлагает вам в этом отношении. Что бы вы ни делали с данными, предоставленными вам ОС, все зависит от вас.

0

По вопросам рекламы [email protected]