У меня есть знания в C ++ и какие-то знания в области сетевого программирования … но я понятия не имею, с чего начать Sniffer … Моя проблема в том, что я создал сервер и клиент.
Я нахожусь в той же сети, что и клиент, а сервер находится далеко от нас :). Как я могу прослушать данные, которые отправляет клиент?
Мне все равно, использовать ли библиотеку наддува или zeroMQ. Чтобы было легче понять, я сделал это:
[SERVER]<-----MESSAGE-----[Router]<-----MESSAGE-----[CLIENT]
|
|
V
[PACKET-SNIFFER]
[PACKET-SNIFFER] и [CLIENT] находятся в одной сети, подключенной по Wi-Fi.
Как я могу прослушать данные, которые отправляет клиент?
Libpcap в ООН * Х, WinPcap на винде.
[PACKET-SNIFFER] и [CLIENT] находятся в одной сети, подключенной по Wi-Fi.
Тогда вам придется захватить в режим монитора. В Libpcap есть API для включения режима монитора, но в настоящее время они хорошо работают только в OS X; в Linux вам, вероятно, придется использовать aircrack-ng скрипт airmon-ng чтобы включить его, и вам, возможно, придется сделать что-то еще на * BSD. WinPcap не имеет этих API, и нет сценария, эквивалентного airmon-ng для Windows.
Приложения связываются с сетью через сокеты. Сокеты реализованы операционными системами. Если вы хотите выяснить, какие потоки данных находятся между вашим клиентом и сетью, лучше всего было бы прочитать документацию по сокетам вашей конкретной ОС и узнать, какие инструменты ОС предлагает вам в этом отношении. Что бы вы ни делали с данными, предоставленными вам ОС, все зависит от вас.