Помогите мне начать (манипулирование трафиком) - PullRequest
5 голосов
/ 26 марта 2011

Моя главная цель - создать продвинутую программу для управления пакетами, которые маршрутизируются в моей сети через маршрутизатор. Пусть моя программа полностью контролирует роутер. Установите скорость загрузки / выгрузки для моих входов, примените эффект к определенным устройствам в моей сети. Блокировка загрузки или загрузки трафика. Установите вторую задержку для скорости загрузки или загрузки. Укажите% потерянных пакетов, и этот список можно продолжить.

Проблема в том, что я не знаю, с чего начать. Я знаю большинство языков на самом базовом уровне. Я хотел бы создать эту программу на C, C ++ или C #, но пока не знаю. Что еще мне нужно знать перед созданием этой программы? Винсок что ли? Winpcap APIs?

Эта цель - моя мотивация учиться программированию до крайности, и я очень жду этого.

Заранее спасибо!

Ответы [ 5 ]

1 голос
/ 21 апреля 2011

Выезд:

http://beej.us/guide/bgnet/html/multi/index.html

'Руководство Beej по сетевому программированию Использование интернет-сокетов '

Все, что вам, возможно, понадобится знать о программировании сокетов для захвата и манипуляции.

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

Надеюсь, это поможет.

1 голос
/ 26 марта 2011

Хммм. Думаю, вы захотите посмотреть на pcap (?): pcap

0 голосов
/ 11 августа 2018

Если вы хотите манипулировать сетевым трафиком на компьютере с Windows (как вы упомянули), вам потребуется дополнительное программное обеспечение.Эта операционная система не даст вам полный контроль над собой, что хорошо по некоторым причинам.

Я думаю, что вы хотите сделать, должно быть сделано либо с winpcap или win10pcap если вы используете Win10.Эти пакеты содержат драйвер Windows и библиотеку пространства пользователя libpcap.

0 голосов
/ 30 марта 2011

Я никогда не видел, чтобы рабочий стол Windows использовался в качестве маршрутизатора только для Windows Server, хотя это все еще возможно. libpcap для захвата пакетов, но не для перехвата, как я понимаю. Такие программы, как Wireshark, используют его для мониторинга копий пакетов, но не для их изменения. Если вы хотите попробовать это, у меня сложилось впечатление, что есть намного больше документации и инструментов для того, чтобы сделать что-то подобное с NetFilter / IPTables в Linux. Вы даже можете установить что-то вроде OpenWRT на совместимый маршрутизатор и получить небольшой дешевый маршрутизатор Linux, хотя наличие Desktop Linux, вероятно, поможет в разработке. Библиотека NetFilter QUEUE может использоваться с некоторыми правилами брандмауэра IPTables для перенаправления определенных (или всех) пакетов в обычную пользовательскую программу. Затем эта программа может прочитать пакет и изменить его или даже запросить его удаление.

http://www.netfilter.org/projects/libnetfilter_queue/

0 голосов
/ 26 марта 2011

Имейте в виду, что вам либо нужен маршрутизатор, который вы можете перепрограммировать, либо вам нужно использовать свой компьютер в качестве маршрутизатора для этого.

В любом случае вы хотите посмотреть, как IPTABLES реализовано.

...