Часто компании имеют свою внутреннюю сеть, которая подключена к интернету через маршрутизатор (или роутер, router). Обычно на таком маршрутизаторе работает firewall, который может фильтровать сетевой трафик. Бывает, что компания не хочет, чтобы компьютеры (и прочие устройства) из внутренней сети имели доступ к интернету. Это может уменьшить вероятность просачивания важной, секретной и не очень информации в интернет. Или начальство просто не хочет, чтобы работники сидели в их любимых социальных сетях в рабочее время. В таком случает firewall может быть настроен на блокирование большинства TCP/UDP соединений с интернетом. “DNS tunneling” может помочь при обходе такого firewall’а при условии, что он пропускает запросы к DNS серверам в интернете.

Вообще существует множество инструментов, которые позволяют реализовать такой DNS-туннель. Но здесь речь пойдет о том, как это сделать с одной лишь Java без использования каких-либо дополнительных библиотек.

(English version – DNS tunneling with Java)

DNS туннель и Java

Read More