LINUX.ORG.RU
ФорумAdmin

Фильтрация websocket пакетов по содержанию

 ,


0

1

Здравствуйте.

Имеется некое приложение сбора статистики отправляющее на свой сервер данные по протоколу websocket. Все в локалке. После отправки любых данных приложение получает такой ответ от сервера:

Frame 347: 99 bytes on wire (792 bits), 99 bytes captured (792 bits) on interface \Device\NPF_{2B5D6C30-A082-41C7-BBA9-C98A835742F7}, id 0
Ethernet II, Src: 96:55:db:a2:a4:2f (96:55:db:a3:a2:2f), Dst: SURECOMT_93:d2:0e (00:02:41:93:d2:0e)
Internet Protocol Version 4, Src: 192.168.0.50, Dst: 192.168.0.70 Transmission Control Protocol, Src Port: 81, Dst Port: 49158, Seq: 579, Ack: 459, Len: 45
WebSocket
Line-based text data (1 lines)
{«CMD»:«PUT»,«KEY»:«57456759461837635676»}

Стоит задача поставить между приложением и сервером фаирвол и пропускать от сервера только пакеты этого типа, т.е. пакеты websocket по порту 81, содержащие конкретно:
Line-based text data (1 lines) {«CMD»:«PUT»,«KEY»:«57456759461837635676»}
Любые другие не пропускать.
Пакеты от приложения к серверу пропускать без фильтрации.

Посоветуйте пожалуйста, как это организовать, какой софт лучше всего подойдет для решения задачи ?

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


Ответ на: комментарий от vel

Все правильно, не получится организовать фильтрацию на уровне пакетов. Нужен фаирвол анализирующий трафик на прикладном уровне. Вопрос как-раз в этом, существует ли такой софт ? Или возможно готовая железка ?

alex3d
() автор топика
Ответ на: комментарий от alex3d

Нужен фаирвол анализирующий трафик на прикладном

В твоем случае - нет. iptables хватает за глаза.

Просто пустые пакеты нужно тоже пропускать.

Анализировать трафик умеет прозрачный прокси-сервер или IDS :)

vel ★★★★★
()