Здравствуйте.
Пойдём от глобального: если возможно, то хотелось бы реализовать маршрутизацию пакетов
Непонятные подзадачи:
- как добиться promiscuous mode (слушать все протоколы и порты на интерфейсе) - хотя про это видимо лучше забыть, т.к. нужны права повышенные
- как использовать некий виртуальный интерфейс
- использовать адрес loopback интерфейса (127.0.7.2, например - или я что-то не понимаю в этом мире?)
- использовать дополнительный адрес на реальном физическом интерфейсе (в случае Linux, eth0:1, например)
при этом так же нужны все протоколы и порты(у кого они есть - IP, например)
Допустим всего это невозможно добиться в разумные сроки одному человеку, тогда задача будет со скрежетом на зубах переформулирована в такую:
Забудем о возможности что-то принять из внешнего мира (т.к. все протоколы реализовать не удалось), тогда будем только устанавливать соединения сами и читать ответы. Соединения будут устанавливаться по запросу от других модулей программы (это не суть важно). Тогда вопрос - есть ли готовые структуры пакетов для TCP (
вот это), UDP или только что-то типа QHttp, QFtp, QtTelnet, что бы во внешний мир посылать? И можно ли в QTcpServer принять (соответственно, из QTcpSocket послать) различные структуры данных подряд - как такое обработать (write'у все равно что посылать, а вот как указать read'у что структура другая летит)?
p.s. наверное я навалил много не совсем понятных желаний - спрашивайте - постараюсь доходчиво ответить
p.p.s. вумными оборотами конечно можете ругаться (загуглю → попробую усвоить), но мои навыки программирования в целом и Qt в частности на начальном уровне (вернее на уровне структурного программирования на скриптовых языках). С ООП на каком-то приемлемом уровне знаком