Контролируйте сокет с помощью ngrep или perl на предмет активности, затем выполните команду - PullRequest
0 голосов
/ 04 апреля 2010

Я хотел бы использовать ngrep и / или perl для мониторинга входящего потока данных в сокете, а затем, когда поступают соответствующие символы, как в этом случае, строка «192.168.1.101:8080», вводить в поток данных - перенаправление на другой IP-адрес, например «192.168.1.102»

Возможно ли это вообще?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2010

Это легко сделать в Perl.

Взгляните на perldoc perlipc , IO :: Socket и IO :: Выберите для примеров.

Вы также можете найти Руководство Биджа по сетевому программированию . Все примеры написаны на C, но сетевой API Perl довольно близок к языку C.

0 голосов
/ 04 апреля 2010

Конечно, это возможно.

Алгоритм / приложение потребует:

  • Сервер прослушивания MiM (создание сеансовых сокетов сокетов)
  • рукопожатие на MiM:
  • (лучше всего было бы, если бы использовался текстовый поток, а не двоичный протокол)
  • recv от клиента, затем анализируйте сообщение:

  • если IP входит, откройте или используйте уже открытый сокет для целевого сервера / порта

  • отправить сообщение или остаток сообщения на целевой сервер
  • обеспечивает связь между клиентом и целевым сервером (работает как шлюз)
  • recv () клиент или сервер и send () обратно на соответствующую сторону

Общие советы: используйте select () или epoll (), подходите более продвинуто, но лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...