| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Тунелирование FTP |
| Автор: Romikgy 20.1.2006, 15:42 |
| Не подскажите как организовать сабж? Есть в чужой сети фтп сервер, и есть в моей сети машина с доступом в чужую сеть , как мне достучатся к чужому фтп из моей сети , я так понял что доступ в чужую сеть только с айпишника , этой одной машины. Пароли айпи есть, доступ к машинам в моей сети тоже. ЗЫ заранее всем сенкс кто ответит |
| Автор: Snowy 20.1.2006, 15:59 |
| Тебе нужно на дельфи написать или главное результат? Почитай хельпу по TIdMappedPortTCP. Кинул на форму, прописал порты, адрес, активировал. Запускаешь на промежуточной машине, подключаешься на нужный порт. Мапер сам весь траффик перенаправит, как будто от себя. Даже для новичка, работы на 10 минут максимум. |
| Автор: Romikgy 20.1.2006, 16:06 |
| Спасиб Только насколько я понял по фтп, канал для данных всегда меняет порт, даже в пассивном режиме, т.е. он случайный порт, как мне его мапить? |
| Автор: RA 20.1.2006, 21:57 |
| а сходилибы сюда http://www.freecap.ru/ нашлибы готовый велосипед с исходниками. |
| Автор: Snowy 23.1.2006, 12:15 | ||
А зачем нам качать велосипед, если в Indy уже имеется готовый компонент? И его качать не нужно - просто выставить параметры и все. |
| Автор: Romikgy 23.1.2006, 14:50 | ||||
21 это командный порт , имхо. А когда пытаешься скачать хоть директорию корневого каталога, то окрывается еще одно соединение, со случайными портами , которые , как я понял, задаются командой PORT как эти порты отвловить и также протунелировать? Добавлено @ 14:52
Какое отношение это имеет к вопросу???? |
| Автор: phanatos 15.9.2006, 17:34 | ||||
Все правильно. Действительно канал данных для ftp соединения создается отдельно, и для пассивного режима использование TCPMappedPort будет неоправдано. Для этих целей в Indy предусмотрены перехватчики. Использовать их очень просто - у класса TIdFTP есть пользовательское событие OnDataChannelCreate. В нем нужно поместить вот такой-вот код:
|