Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: NcFTP и ftp разлики


  • Subject: Re: lug-bg: NcFTP и ftp разлики
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Fri, 18 Jun 2004 09:10:30 +0300

On Thu, Jun 17, 2004 at 10:03:11AM +0300, Vasil Kolev wrote:
> На чт, 2004-06-17 в 09:25, Nickolay Kolev записа:
> > Здравейте,
> > 
> > Имам проблем с нцфтп. Не мога ни да качвам ни да свалям файлове от един 
> > определен сървър... и листинг даже не иска да ми дава, казва само
> > 
> > ncftp / > passive
> > passive                        on
> > ncftp / > dir
> > Passive mode refused.
> > List failed.
> > 
> > Пробвах passive mode on и passive mode off и той си ги превключва, но 
> > резултатът е същият.
> > 
> > Странното е, че ако ползвам нормалната фтп команда с passive mode on, 
> > сървърът си работи като пич, свалям и качвам, колкото ми душа иска, 
> > листинги също има.
> > 
> > За съжаление, нямам информация за това, какъв е сървърът, някаква 
> > хостинг компания. Та затова питам само информативно, къде би могла да 
> > се крие голямата разлика в двата клиента?
> 
> Аз бих пуснал един ethereal, бих погледнал точно какво си говорят
> сървъра и клиента, и сигурно щях да си изясня нещата... В общи линии май
> ти трябва само CONTROL connection-а (който върви на порт 21).

Ммм.. май не е точно така :)

Разликата между active и passive mode FTP е, че при активния режим,
когато клиентът реши да отвори data connection (а при NLST или другите
форми на dir/ls ти трябва и data connection), той изпраща на сървъра
команда PORT, в която указва своя адрес и някакъв порт, към който
сървърът да се върже.  При пасивния режим клиентът изпраща първо команта
PASV или EPSV (extended passive mode), след което изпраща команда PORT с
нулеви стойности за адрес и порт, и сървърът в отговора си дава адрес и
порт, на които след това *клиентът* се връзва към него.  Идеята е, че
ако клиентът е зад NAT, сървърът просто няма как да отвори TCP връзка,
която да стигне до него, затова трябва клиентът да се върже към сървъра.
Това с нямането как е по принцип.. на практика повечето NAT софтуер има
възможности да прихваща PORT команди, да отваря собствен listening
socket, да пренаписва PORT командата със своя адрес и порт, и после да
прави relaying, когато сървърът реши да се върже.

Така че.. data connection ти трябва винаги, и за прехвърляне на файлове,
и за list; разликата между активния и пасивния режим е, че при активния
режим сървърът се връзва за клиента, а при пасивния - клиентът към
сървъра.  Активният режим се използва по подразбиране от създаването на
FTP протокола и първите клиенти и сървъри до съвсем скоро, когато
станаха много случаите на NAT и някои FTP клиенти започнаха да ползват
пасивен режим, ако не е указано друго.

Това обаче все пак не хвърля никаква светлина върху това защо с един FTP
клиент пасивният режим работи, а с друг не... за тази част съм съгласен
с идеята на Васил за ползване на някакъв вид network traffic analyzer
като Ethereal, за да се види точно какви команди подава единият клиент и
какви - другият.

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This sentence no verb.

Attachment: pgpR7uZKDupjK.pgp
Description: PGP signature



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.