Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Особенности открытия портов FTP в браузерах HTTP (http://forum.oszone.net/showthread.php?t=75475)

hasherfrog 30-11-2006 23:58 519140

Особенности открытия портов FTP в браузерах HTTP
 
Вот открываешь браузером сайт по протоколу FTP (ссылка вида ftp://чето.то.там/где/то/там/). Генерируется список "Index of" содержимого директории с сервера. Но по какому принципу это делается???

Если работаешь ftp-клиентом, всё понятно. Пересылка идёт через 20,21 порт как на сервере, так и у клиента. А как и что делает браузер? Ведь он пользуется какими-то другими возможностями, открывая (я тут проследил) динамические какие-то соединения на портах вида 43210.

Где можно почитать?
(или кто объяснит в двух словах?)

Blast 01-12-2006 08:19 519213

Видимо дело в том, что браузер для соединения с сервером использует пассивный режим FTP, а в этом режиме клиент при открытии соединения локально открывает два произвольных порта из диапазона от 1024 до не_знаю (младшие порты уже зарезервированы системой). Первый порт коннектится с сервером на 21-й, но вместо отсылки команды PORT которая позволила бы серверу в ответ соединяться с его 21-м, клиент отправляет команду PASV по которой сервер открывает произвольный из того же диапазона (в этом случае диапазон доступных портов выше 1024 назначается настройками сервера), после чего для передачи данных, клиентом инициируется соединение и передача данных от своего открытого порта к открытому порту на сервере, о которых они "договорились" в момент соединения.
Вот... наверное немного путано, но иначе не получилось :)

hasherfrog 01-12-2006 10:55 519290

Blast
Спасибо огромное, я понял. Теперь вопрос, как это разрулить, чтобы firewall не блокировал... Но это уже отдельная песня... :-)

P.S. После одсказки понял что искать и вот тут нашёл вкратце "по-научному": http://support.microsoft.com/kb/323446/ru

Blast 01-12-2006 11:28 519305

о, ну там конечно понятнее изложено, да и есть указание на то как настроить IE для этого дела, спасибо.

hasherfrog 01-12-2006 12:51 519359

Ну и вот результаты изысканий.

IE можно научить использовать пассивный режим.
Opera - Нельзя.
Firefox - Нельзя.

Дабы работать "как белый людь" в двух последних, нужно настраивать firewall.
Я работал с iptables, перерыл КУЧУ литературы и мусора.
Везде написано, что достаточно типа "включить modprobe ip_conntrack_ftp и ip_nat_ftp".
Я потратил кучу времени, и в полной мере прочувствовал себя обезьяной.
На самом деле всё гораздо сложнее :-/ Или проще, кому как.

Единственный ответ нашёл тут:
http://www.sns.ias.edu/~jns/wp/category/linux/iptables/
Делается это так:
iptables -A FORWARD -p tcp -m tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
Подробно по INPUT и OUTPUT см. по ссылке.

Оставляю информацию просто для тех, кто столкнётся с такой проблемой на Trustix 3.0
Гугль, взять!


Время: 08:08.

Время: 08:08.
© OSzone.net 2001-