Autor Beitrag
Mr_Sven
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


D7 Prof., C# (VS 2008)
BeitragVerfasst: Mo 08.11.04 12:18 
Hi Leute,
ich habe ein Problem mit IdFTP und Socks.
Wenn ich eine Verbindung über Socks herstellen will, dann sieht das so aus:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
-->> 220 FTP Server ready.<EOL>
<<-- USER ********<EOL>
-->> 331 Password required for ********.<EOL>
<<-- PASS ********<EOL>
-->> 230 User ******** logged in.<EOL>
<<-- PWD<EOL>
-->> 257 "/" is current directory.<EOL>
<<-- PASV<EOL>
-->> 227 Entering Passive Mode (***,***,***,***,249,185).<EOL>


EIdSocketError
Socket-Fehler # 10061 Verbindung abgelehnt


Ich habe den Code so programmiert wie es im Indy Handbuch steht, aber es klappt nicht.
Hat irgentjemand eine Idee?

Gruß Sven

Zitat:

1. Create an IOHandler such as TIdIOHandlerSocket or TIdSSLIOHandlerSocket and assign the TIdFTP.IOHandler property this.

2. Set the TIdFTP.Passive property to true.

3. Create a TIdSocksInfo object and assign it to the IOHandler's SocksInfo property.

4. Set the TIdSocksInfo properties as required.
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Mo 08.11.04 13:43 
Hi,

ich habe ein ähnliches Problem. Das liegt aber schlußendlichbei mir nicht an Indy. Wenn man mit FTP über eine Firewall geht, kann es sein, das diese Firewall per Socks nur passives FTP unterstützt. Dann muß dies natürlich auch bei dem externen FTP- Server sauber funktionieren. Und genau darin besteht das Problem. Der FTP- Server gibt dann seine IP- Adresse und den Port nach Umschalten in den passiven Modus an den Client zuück. Diese Information liegt aber nicht im Header des Datenpacketes sondern normal im Datenbereich. Wenn der FTP-Server ebenfalls hinter einer Firewall steht und dem Client seine private IP-Adresse übergibt, dann läuft das natürlich vorn Baum. Das bedeutet, die Firewall setzt dies nicht um.
Das steht in dem Teil, den Du mit *** überschrieben hast. Oder was auch noch sein kann, das der mitgesendete Port nicht in der Firewall des Servers freigegeben ist. Hier müßte der Serverbetreiber einen festen Port für passives FTP vorgeben und in der Firewall freigeben.

So einfach wie FTP auf den ersten Blick schein ist es bei tieferen Hinsehen leider doch nicht.

Gruß Micha.

_________________
Viele Wege führen nach Rom.
Mr_Sven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


D7 Prof., C# (VS 2008)
BeitragVerfasst: Mo 08.11.04 14:04 
Hi,

ähm, also müsste es eigentlich funktionieren, es liegt also dann an der Firewall?
Und ist dann sozusagen, normales systemverhalten, dass diese Fehlermeldung kommt?

Gruß Sven
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Mo 08.11.04 14:50 
Hast du mal das Indybeispiel ausprobiert? Klappt es damit? Solltest du auf jedenfall davor ausprobieren, damit du sichersein kannst, dass der Fehler nicht bei dir selber liegt!

GRuß hApe!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Mr_Sven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


D7 Prof., C# (VS 2008)
BeitragVerfasst: Mo 08.11.04 22:37 
Jupp habe ich schon, da is aber kein Socks in dem Indy beispiel.

Liegt aber an den Socks-Server Einstellungen in unserer Firma.

Gruß Sven
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Di 09.11.04 15:26 
Hi,

in meinem Fall war es so, das es am fremden FTP-Server bzw. an der Firewall lag, hinter dem der FTP Server stand. Probier doch mal einen anonymen Connect zu ftp.cdrom.com zu bekommen . Das hat zumindest bei mir geklappt.

Gruß Micha.

_________________
Viele Wege führen nach Rom.
Mr_Sven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


D7 Prof., C# (VS 2008)
BeitragVerfasst: Di 09.11.04 17:35 
Ne, liegt dann wohl doch an der
Lokalen Firewall, denn das programm bleibt einfach hängen.

Gruß Sven

PS: habe nen Bug in Indy 9 gefunden: www.delphi-forum.de/...und+IdFTP_32407.html