Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получается соединиться через SOCKS5 FTP, synapse, FTP, SOCKS5 
:(
    Опции темы
TechnoMag
Дата 22.7.2012, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Выполнение FTPClient.Sock.SocksOpen; приводит к выдаче таких сообщений.

Код

10038,Socket operation on nonsocket
10022,Invalid argument
10060,Connection timed out


Пробовал соединиться через Total Commander - все работает.
Еще не понятно в каком порядке производить соединение: сначала socks5 потом FTP, или FTP потом socks5?

Код

procedure TForm1.checkBoxConnectClick(Sender: TObject);
// подключение/отключение к серверу
begin
  LoggedOn := checkBoxConnect.Checked;
 
  ClearAllEdits;
  if LoggedOn=false then
  begin
  // отключение от сервера
      FTPClient.Logout;
      FTPClient.Username := '';
      FTPClient.Password := '';
      FTPClient.TargetHost := '';
      //LoggedOn:=false;
      checkBoxConnect.Caption := 'Подключиться к серверу';
      StatusBar1.SimpleText:='Отключен.';
      //checkBoxConnect.Enabled := true;
  end
  else
  begin
    // подключение к серверу
      Memo1.Lines.Clear;
      FTPClient.Username := editUserName.Text;
      FTPClient.Password := editPassword.Text;
      FTPClient.TargetHost := editHostName.Text;
      FTPClient.PassiveMode := UsePassiveMode;
 
      if checkBoxUseProxy.Checked then
        begin
//        FTPClient.FWHost:=editProxyHostName.Text;
//        FTPClient.FWPort:=editProxyPort.Text;
        FTPClient.Sock.OnStatus := OnSocketStatus;
        FTPClient.Sock.SocksType := ST_Socks5;
        FTPClient.Sock.SocksIP := editProxyHostName.Text;
        FTPClient.Sock.SocksPort := editProxyPort.Text;
        FTPClient.Sock.SocksResolver := true;
        FTPClient.Sock.SocksUsername := '';
        FTPClient.Sock.SocksPassword := '';
        FTPClient.Sock.SocksOpen;
        //FTPClient.Sock.Connect(editProxyHostName.Text, editProxyPort.Text);
      end;
 
      if FTPClient.Login=true then
      begin
        //LoggedOn:=true;
 
        StatusBar1.SimpleText:='Подключен.';
        checkBoxConnect.Caption := 'Отключиться от сервера';
      end
      else
      begin
        //LoggedOn:=false;
        StatusBar1.SimpleText:='Отключен.';
        checkBoxConnect.Caption := 'Подключиться к серверу';
      end;
  end;
end;

PM MAIL ICQ   Вверх
TechnoMag
Дата 22.7.2012, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Дополнение к вопросу:
Тестирую на локальном FTP-сервере FileZilla. Socks5 создаю при помощи консольной утилиты bouncer.exe с такими аргументами: --port 1080 --socks5 --bind 127.0.0.2 --s_user user --s_password password
 При выполнении метода FTPClient.Sock.SocksOpen программа выдает ошибку:
Код

10038,Socket operation on nonsocket
10022,Invalid argument
10060,Connection timed out

127.0.0.2:1080
127.0.0.2:1080
IPv4
127.0.0.2:1080
4
2
15
2
10
158
127.0.0.1:21
220-FileZilla Server version 0.9.41 beta
220-written by Tim Kosse ([email protected])
220 Please visit http://sourceforge.net/projects/filezilla/
16
USER TechnoMag
37
331 Password required for technomag
12
PASS 31337
15
230 Logged on
8
TYPE I
19
200 Type set to I
8
STRU F
33
200 Using file structure 'File'
8
MODE S
20
200 MODE set to S.
8
REST 0
37
350 Rest supported. Restarting at 0
8
REST 1
37
350 Rest supported. Restarting at 1
8
REST 0
37
350 Rest supported. Restarting at 0


При этом bouncer.exe в консоль пишет:
Код

[17:39.53] [1] Accepted Connection From 127.0.0.1:53000
[17:39.53] [1] Attempting To Connect To 127.0.0.1:21
[17:39.53] [1] Successfully Connected To 127.0.0.1:21


Если закомментировать FTPClient.Sock.SocksOpen; вывод такой:

Вывод в консоль bouncer.exe
Код

[17:37.06] [1] Accepted Connection From 127.0.0.1:52985
[17:37.06] [1] Attempting To Connect To 127.0.0.1:21
[17:37.06] [1] Successfully Connected To 127.0.0.1:21


Вывод моего FTP-клиента
Код

127.0.0.2:1080
127.0.0.2:1080
IPv4
127.0.0.2:1080
4
2
15
2
10
158
127.0.0.1:21
220-FileZilla Server version 0.9.41 beta
220-written by Tim Kosse ([email protected])
220 Please visit http://sourceforge.net/projects/filezilla/
16
USER TechnoMag
37
331 Password required for technomag
12
PASS 31337
15
230 Logged on
8
TYPE I
19
200 Type set to I
8
STRU F
33
200 Using file structure 'File'
8
MODE S
20
200 MODE set to S.
8
REST 0
37
350 Rest supported. Restarting at 0
8
REST 1
37
350 Rest supported. Restarting at 1
8
REST 0
37
350 Rest supported. Restarting at 0


Не знаю чему верить.
Для получения сообщений от FTP-сервера использовались обработчики:
FTPClient.Sock.OnStatus := OnSocketStatus;
FTPClient.OnStatus := OnStatus;
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.