2015-07-20 5 views
1

Я пытаюсь написать приложение, которое будет считывать данные, отраженные от другого соединения tcp/ip.Как создать сокет tcp в беспорядочном режиме?

Устройство A подключается к машине B через tcp/ip и отправляет данные. Отобранные данные дублируются и отправляются на устройство C с устройства A, но с тем же адресом назначения, что и раньше (указывая на B не C). машине C нужно читать данные и делать с ними вещи.

Мой вопрос: как создать сокет, который будет делать это? Я знаю, что мне нужно будет в беспорядочном режиме. Нужно ли быть гнездом RAW? Каков наилучший способ получить данные?

Машина C в основном будет сетевым снифером, я думаю, но в сети, состоящей только из этих трех устройств.

+0

Почему бы не использовать настоящую библиотеку нюхания, такую ​​как pcap? Пусть речь идет о деталях захвата пакетов. –

+0

Потому что я ноб, и я не знал, что это было. – GreySage

ответ

2

Вы хотите использовать libpcap для захвата необработанных пакетов. Запустите man 3 pcap, чтобы получить список всех соответствующих функций.