Получение пакетов UDP через брандмауэр

246
Jan Müller

У меня есть встроенное устройство, которое связывается через UDP (и иногда TCP / IP) с приложением на главном компьютере.

Встроенное устройство непрерывно излучает пакеты UDP на фиксированный IP-адрес (адрес хоста) и фиксированный порт. Хост-компьютер должен открыть свой брандмауэр на этом порту, чтобы разрешить входящий трафик UDP.

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

Поскольку приложение на хосте ожидает пакетов UDP от встроенного устройства, может ли оно как-то «инициировать» связь? Т.е. отправлять один раз исходящий пакет, а затем получать UDP-сообщения как ответ на это исходящее сообщение? Так что брандмауэр считает, что эти входящие UDP-пакеты запрашиваются приложением на хосте (кем они на самом деле являются) и таким образом разрешает их?

0

1 ответ на вопрос

0
Abu Zaid

Да, это возможно, но сложная настройка. Технология называется UPnP. Если маршрутизатор / межсетевой экран, подключенный к хосту, поддерживает UPnP, то можно разработать приложение для динамического открытия порта на маршрутизаторе и принятия входящих подключений.