Перенаправление трафика
Использовать утилиту datapipe несложно, несмотря на сложные пути перенаправления портов, которые вы можете создавать с ее помощью.
$ ./datapipe Usage: ./datapipe localport remoteport remotehost
Значение localport представляет номер порта, прослушиваемого на локальной системе; подключения будут сделаны к этому номеру порта. В Unix вы должны быть привилегированным пользователем (root), чтобы открыть для прослушивания порты, имеющие номера ниже 1024. Если вы получите ошибку, подобную такой: "bind: Permission denied" ("Нет разрешения на доступ"), это будет означать, что ваша учетная запись, возможно, не дает вам право открывать зарезервированный порт.
Значение remoteport представляет номер порта, на который будут переправлены данные. Например, если адресатом является Web-сервер, значение remoteport равно 80.
Значение remotehost представляет имя хоста или IP-адрес получателя.
Самый легкий концептуальный пример перенаправления порта: переадресация трафика HTTP. В этом случае мы устанавливаем утилиту datapipe так, чтобы прослушивать порт с большим номером, в данном примере 9080, и переадресовывать трафик на любой сайт по вашему выбору.
$./datapipe 9080 80 www.google.com
Теперь вводим следующий URL в Web-броузер:
http://localhost:9080/
Должна открыться домашняя страница сайта Google. Утилита datapipe выполняется в фоновом режиме, поэтому надо использовать команды ps и kill, чтобы найти ID процесса и остановить его.
$ ps auxww | grep datapipe root 21570 0.0 0.1 44 132 ?? Is 8:45 PM 0:00.00 ./datapipe 9080 80 www.google.com $ kill -9 21570
Утилита datapipe выполняет элементарную функцию, но, с небольшими творческими усилиями, вы можете превратить ее в мощный инструмент. В разделе "Пример из жизни: перенаправление портов" есть интересные предложения о том, когда можно использовать перенаправление порта.
Примечание. При перенаправлении портов трафик переадресуется между TCP-портами, и только. При этом не выполняются преобразования протокола или какие-либо другие манипуляции с данными. Перенаправление Web-трафика от порта 80 к порту 443 не изменит http-подключение на зашифрованное HTTPS-подключение. Вместо этого используйте SSL-прокси.