В качестве прямого пути вы можете вызвать plink командную строку, чтобы создать туннель, а затем подключиться к локальному узлу из вашего приложения.Plink - это версия Putty для командной строки, у вас есть множество опций, и это очень популярное, безопасное и протестированное приложение.
У вас есть приложение ( SSH Tunnel Client ), которое делает это дляВы с хорошим интерфейсом.Это немного глючит, но работает просто отлично.
В этом примере порт 80 на удаленном компьютере подключается к порту 8000 вашего локального хоста.
plink.exe -L 127.0.0.1:8000:127.0.0.1:80 -C -pw 1234 -2 -l user myserver.com
Что я не делаюРекомендуется использовать этот метод, так как командная строка содержит пароль, и его легко увидеть с помощью любого менеджера процессов. Теперь хорошо то, что у вас есть доступный исходный код, чтобы вы могли интегрировать его в свой проект.
Редактировать
Теперь представьте, что ваше приложение подключается к «yahoo.com» для получения некоторых данных, вы не можете изменить приложение, но вы можете настроить Человек в середине.Вы можете выполнить следующую команду:
plink.exe -L 127.0.0.1:80:google.com:80 -C -pw 1234 -2 -l user myserver.com
Где myserver.com - сервер SSH, который позволяет вам создавать туннели и имеет доступ к google.com. Теперь перейдите к файлу hosts вC: \ windows \ system32 \ drivers \ etc \ от имени администратора и добавьте следующую запись:
127.0.0.1 yahoo.com
Вы можете проверить настройку с помощью браузера и перейти на yahoo.com, после чего вы увидите google.com.стр.Это кажется простым, но реальная сила в том, что весь трафик проходит через myserver.com.
Некоторые преимущества:
- Весь трафик на yahoo.com шифруется
- С помощью этого метода можно обойти ограничения прокси
- Вы можете получитьдоступ к интрасети, где расположен myserver.com, если вы можете подключиться к нему извне
- Вы можете войти или изменить данные соединения
Имейте в виду, что этот методочень вероятно, что будут проблемы с соединениями HTTPS из-за проверки подлинности сертификатов.