Книга построена в стиле "вопрос ответ". Ответы бывают двух видов

Вид материалаКнига
Получение файлов
Родственные вопросы
Q: Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"…
Родственные вопросы
ReGet и Teleport Pro
Строка Referrer
Teleport Pro
Project" выберите пункт "Project Properties
Identify as Teleport Pro
Impersonate Netscape Navigator"
Q: Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват, и что делать?
subQ: Что такое режим ASCII и как его отключить в моем ftp-клиенте?
Рисунок 32 Выключение режима ASCII в FAR
Q: Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?
FAR-менеджера и "качальщика" ReGet
Options" выберите пункт "Plug-ins configuration
Родственные вопросы
Подобный материал:
1   ...   14   15   16   17   18   19   20   21   ...   28

Получение файлов



Анархия – это когда вас постоянно поливают дерьмом, а вы должны терпеть.

Аноним

A: Как восстановить файл, некорректно принятый ReGet?


Менеджеры закачек очень популярны среди российских интернетчиков. Низкая скорость в купе с частными обрывами связи не оставляют никаких шансов скачать "тяжелый" файл за один раз. Но ведь не обязательно при очередном обрыве начинать скачивать файл с начала! Большинство серверов поддерживают позиционирование указателя текущей позиции чтения, позволяя в случае обрыва продолжить закачку с последнего прочитанного байта.

Однако, кроме обрывов связи и "падений трубки", случаются еще и сбои питания, привычные для всех зависания, от которых ReGet - популярный менеджер закачек – увы, не спасает. Если в момент "сливания" длинного файла неожиданный бросок напряжения приведет к выключению компьютера, "сливаемый" файл с большой степенью вероятности будет испорчен, – операционная система не успеет заполнить последний кластер, выделенный файлу, и в его хвосте окажется мусор! ReGet, не зная этого, продолжит закачку с последней позиции файла, "замуровав" "мусор" в его теле. Работать такой файл, разумеется, не будет.

Поэтому, после каждого сбоя (зависания, выключения питания) "мусорный хвост" приходится отрезать вручную. Для этой цели подходит утилита HIEW (Hacker's Viewer – Хакерский Вьювер"), раздобыть последнюю версию которой можно у Сусликова Евгения – ее автора – sen@suslikov.kemerovo.su ss.

Загрузите "препарируемый" файл, указав его имя в командной строке, и, нажатием клавиши <F4> или <ENTER>, перейдите в hex-режим. Затем, с помощью "волшебной комбинации" <Ctrl-End> переместитесь в конец файла. Теперь необходимо отступить назад на величину кластера вашего диска (ее можно узнать, запустив программу проверки диска или заглянув в "свойства" диска) – нажмите <F5> и введите требуемое значение отступа в шестнадцатеричной нотации со знаком "минус". (Перевести десятичное число в шестнадцатеричное поможет калькулятор, встроенный в HIEW и вызываемый <All+'+'>). Переместившись на требуемую позицию, усеките файл комбинацией <F3>, <F10>. Теперь запустите ReGet, и он автоматически продолжит докачку с "безопасного" места.

Хуже, если требуется восстановить ранее скаченные файлы, содержащие мусор в середине. Сразу же возникают две проблемы – как определить где именно расположен мусор, и как заставить ReGet скачать фрагмент файла "от сих" – "до сих" для замены поверженного участка на новый?

Поиск сбойного фрагмента – самое сложное в операции восстановления. Отличить мусор от полезной информации, можно только зная структуру поверженного файла. С "текстовиками" никаких проблем нет – искомое место обнаруживаться визуальным просмотром, а вот как быть с остальными типами файлов? В результате серии экспериментов автором было установлено, что в мусоре присутствует по крайне мере одна регулярная структура – длинная цепочка из нескольких сотен нулей. Такая последовательность никогда не встречается в архивах и некоторых других типах файлов (например, pdf, rtf), поэтому она может служить своеобразной меткой – сигнатурой мусора. К сожалению, с другими форматами файлов дело обстоит сложнее, в частности, исполняемые файлы (в том числе и самораспакующиеся архивы) этими самыми нулевыми байтами могут быть напичканы под самую завязку – попробуй, разберись мусор это или нет!

Разберем для примера тривиальный случай. Допустим, при распаковке image4.zip (архив космических фотографий, взятый с plenet.com/ds2000files/images4.zip) выдается ошибка извлечения файла "Inflating: EUROPA2.tif PKUNZIP: (W15) Warning! file fails CRC check"

Загрузим поврежденный архив в HIEW и попытаемся отыскать цепочку, состоящую более чем из десяти следующих друг за другом нулевых байт (<F7>, <Tab>, "00 00 00 00 00 00 00 00 00 00"):

Опаньки! Взгляните, что мы обнаружили!


002E6460: 68 D3 C9 38-16 B2 52 1E-B5 3F D3 0E-94 71 AE E4

002E6470: 5F DE 79 9F-99 E1 CD F9-56 D0 6A AC-64 37 F0 2D

002E6480: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6490: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E64A0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E64B0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E64C0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E64D0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E64E0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E64F0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6500: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6510: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6520: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6530: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6540: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6550: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6560: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6570: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6580: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6590: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E65A0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E65B0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E65C0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E65D0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E65E0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E65F0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

002E6600: 10 A4 01 00-03 00 05 00-64 00 4C 8D-0C 01 00 01

002E6610: 00 06 00 CE-53 00 00 00-09 01 00 02-00 06 00 CB


Разумеется, крайне маловероятно, чтобы в архиве встретилась подобная последовательность (ведь архив это или что?). Вероятно, здесь-то и был застигнут ReGet врасплох сбоем питания или зависанием компьютера.

Подумаем, как можно наложить заплатку на "больное" место? Самое простое решение – обрезать искаженный файл немного выше начала цепочки нулей (вдруг сбой затронул и соседние участки?), запустить ReGet для докачки нескольких килобайт и дописать оставшийся от обрезания "хвост" в конец файла, чтобы не скачивать его заново из сети.





Рисунок 31 Рис. 0х026 Процедура восстановления поврежденного файла. Берем "больной" файл (1) – сбойный участок выделен красным ???, делаем его копию и отрезаем HIEW-ов чуть выше начала сбойного фрагмента (2), запускаем ReGet, чтобы он докачал столько килобайт, сколько составлял сбойный фрагмент плюс небольшой запас (3) – докаченный фрагмент выделен сплошной заливкой; дописываем неповрежденный хвост поврежденного файла к только что полученному (4) и в результате всех этих махинцаий имеем нормальный работоспособный файл (5).

Звучит заманчиво, но как все это выглядит на практике? Для начала создадим резервную копию испорченного файла, для чего воспользуемся любой привычной оболочкой или же командой copy из MS-DOS "Copy image4.zip back.me"

Теперь смело урежем оригинальный файл, поднявшись немного выше начала сбойного фрагмента (в HIEW-е это осуществляется нажатием <F3>, <F10>). Запускаем ReGet и терпеливо ждем пока десяток-другой килобайт не упадут на наш жесткий диск (ждать, очевидно, придется недолго).

Для определения границ сбоя и уверенности, что мы их гарантированно миновали, выполним побайтовое сравнение старого и нового файлов утилитой MS-DOS fc.exe: "Fc image4.zip back.me /b > log.txt". Заглянем в полученный файл log.txt


Сравнение файлов images4.zip и back.me

002E6480: 33 00

002E6481: AA 00

002E6482: 31 00

002E6483: 0F 00

002E6484: FD 00

002E6485: EB 00

002E6486: D9 00

: : :

002E6607: 84 00

002E65F8: FB 00

002E65F9: 72 00

002E65FA: E9 00

002E65FB: 60 00

002E65FC: D7 00

002E65FD: 4E 00

002E65FE: C5 00

002E65FF: 3C 00

002E6600: C3 10

002E6601: CE A4

002E6602: A2 01

002E6603: 18 00

002E6604: 92 03

002E6605: 06 00

002E6606: 82 05

; - последний байт сбоя


Оказывается, сбойный участок начинается с первого нулевого байта (байты, лежащие выше, совпадают в новой и старой версии), но вот за концом нулей находится некоторое количество искаженных байт, последний из которых расположен по смещению 0x2E6606.

Теперь остается дописать остаток "хвоста", взятого из резервной копии файла, что без труда можно сделать с помощью того же HIEW. Откроем резервный файл и переведем курсор на байт по смещению 0x236607 (<F5>, "236607") и, нажав звездочку на цифровой клавиатуре, выделим блок до конца файла. Затем еще раз звездочку для завершения выделения и <F2> для записи "хвоста" в укороченный файл.

Попробуем его распаковать: о, чудо! Это сработало! Простыми операциями нам удалось сэкономить уйму времени (и денег, кстати, тоже).

Конечно, ничего этого не потребовалось бы, будь ReGet устойчив к сбоям по питанию (как, например, GetRight – который всегда отрезает несколько килобайт от хвоста файла после каждого обрыва). Но, как знать, быть может, в следующих версиях это и будет исправлено?


Родственные вопросы:

Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"… (следующий)

Попытка скачать с WEB-сервера файл моим любимым "качальщиком" заканчивается провалом – сервер "ругается" и не "отдает" файл. В то же время, через браузер все работает нормально, но, естественно, без докачки. Почему так?


Q: Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"…


Такое часто случается… В сети существует не так уж мало серверов, не поддерживающих докачку, но хранящих файлы в несколько десятков мегабайт размером. Удивительно, о чем только думают их владельцы! На низкоскоростных низкокачественных линиях скачать такие файлы принципиально невозможно, поскольку разрыв наступает раньше, чем удается получить хотя бы половину файла.

Очень часто проблема решается поиском того же самого файла на каком-нибудь другом сервере, докачку поддерживающим. В этом помогают поисковые машины или ссылки на зеркала на самом сервере. Но этот примем, к сожалению, срабатывает не всегда – существуют и такие файлы, которые находится в единственном экземпляре на единственном в сети сервере.

Пользователи давно ведут непрекращающуюся "священную войну" по поводу "чья файлокачалка лучше". Некоторым утилитам даже приписывается мифическое (мистическое?) умение докачивать с любого сервера. В действительности же – все это легенды и не более того. В "докачке" ничего загадочного нет. Некоторые серверы поддерживают специальную команду, позволяющую начать передачу файла не с самого начала, а с произвольной позиции. Если же такой команды в "лексиконе" сервера нет, – докачка невозможна в принципе, и при обрыве соединения придется начинать качать все заново. Ну, разве, что файл скэшируется где-нибудь "по дороге".

Иногда выручает перекачка через кэширующий Proxy-сервер. При первом же запросе он получает файл целиком и сохраняет его на своем диске, избавляя клиента от "радости" общения с недокачивающим сервером. Однако сервер может легко запретить кэширование (что часто и происходит) – тогда такой прием не сработает. В частности, ни одна из известных автору качалок не умеет докачивать файлы, выдаваемые cgi-скриптами. А такая потребность возникает и очень часто! Как же быть?!

Проще всего воспользоваться услугами специальных серверов, позволяющих получать файлы с ftp- и web-серверов по электронной почте. Во-первых, соединение с почтовым ящиком провайдера обычно много быстрее, чем с далеким за бугорным сервером, а, во-вторых, в этом случае большой файл автоматически разрезается на несколько частей, что упрощает его получение.

Другой, более универсальный, способ состоит в использовании промежуточного сервера с максимально быстрым каналом. Чем быстрее канал, тем больше шансов на то, что файл будет целиком передан за один раз без разрывов. Затем же, с промежуточного сервера искомый файл может быть без проблем скачен на компьютер пользователя (естественно, промежуточный сервер должен поддерживать докачку, иначе не стоит и затевать весь этот сыр-бор). Альтернативный вариант – если такой сервер территориально близок, можно подъехать к его владельцу и переписать скаченный файл на дискету (CD-ROM, Zip и т.д.), сэкономив изрядное количество времени и денег.

Для скачивания файла через промежуточный сервер можно воспользоваться либо telnet-доступом, запустив на удаленной машине ftp-клиента (см. вопрос "Разное  Что такое telnet и как с ним работать"), либо разместить на web-сервере специальный cgi-скрипт, делающий всю работу за вас (см. "Personal Web Server  Какие сервера бесплатно предоставляют право исполнения cgi?", "Personal Web Server  Как разместить скрипт на сервере?")


Родственные вопросы:

Разное  Что такое telnet и как с ним работать

Personal Web Server  Какие сервера бесплатно предоставляют право исполнения cgi?

Personal Web Server  Как разместить скрипт на сервере?

Попытка скачать с WEB-сервера файл моим любимым "качальщиком" заканчивается провалом – сервер "ругается" и не "отдает" файл. В то же время, через браузер все работает нормально, но, естественно, без докачки. Почему так? (следующий)


Q: Попытка скачать с WEB-сервера файл моим любимым "качальщиком" заканчивается провалом – сервер "ругается" и не "отдает" файл. В то же время, через браузер все работает нормально, но, естественно, без докачки. Почему так? Миу cat@mail.ru


Для идентификации программного обеспечения, установленного у клиента, в заголовке запроса, посылаемого web-серверу, предусмотрено специальное поле "User-Agent", заполняемое самим клиентом, точнее, его программным обеспечением, и по обыкновению содержащие название и версию этого самого программного обеспечения.

Зная, какие браузеры используют посетители его сайта, web-мастер может оптимизировать HTML-код соответствующим образом. Хотя, временами раздаются недовольные возгласы в стиле "руки прочь от подробностей интимной жизни посетителя", техника идентификации клиентов призвана служить их же благу.

И все было бы хорошо, если бы некоторые (слегка тронутые) web-мастера, не налагали бы ограничений на выбор программного обеспечения. Анализируя содержимое поля "User Agent" они разрешают доступ к ресурсам в том, и только в том случае, если клиент использует "дозволенный" браузер, в противном же случае – от ворот поворот. Прямо как в анекдоте – моя селедка, что хочу, то и делаю!

Большинство браузеров – Internet Explorer, Netscape Navigator и др. – для своей идентификации используют кодовое имя "Mozilla", а "качальщики" файлов зачастую оставляют поле "User-Agent" пустым, либо же заполняют его некоторым образом по своему усмотрению. Поэтому, отличить такой "качальщик" от браузера очень легко! Вопрос: чем же мотивирован запрет на использование "качальщиков", следует задать этим самым "двинутым" web-мастерам, автор же ответить на него не в силах – это выше его понимания!

Можно ли обойти такую защиту? Разумеется, да - достаточно качальщику идентифицировать себя строкой "Mozilla" – если, конечно, такая возможность предусмотрена его разработчиком. В противном случае придется выбирать другого "качальщика" – с более гибкими настройками.

Очень сильно ушибленные web-мастера ухитряются распознавать такой обман, проверяя значение еще одного поля – "Referrer", содержащее адрес страницы откуда пришел клиент. {>>>> сноска прямо разворачивают целую военную компанию против своих посетителей!}. При скачке файла из браузера в это поле помещается адрес текущей страницы, но большинство "качальщиков" оставляют его пустым!

Разумеется, разработчикам "качальщиков" это препятствие нетрудно обойти – подумаешь, проблема – добавить несколько лишних строчек кода, – но вот пользователи "качалки", не поддерживающей заполнения поля "Referrer" скидывают ласты и выпадают в осадок, разыскивая более совершенную программу – поумнее.

Ниже будет приведен пример конфигурирования двух популярнейших приложений – ReGet и Teleport Pro. Во всех остальных случаях поможет прилагаемая к продукту документация, а в ее отсутствии эту операцию можно попытаться выполнить и самостоятельно, поскольку все приложения конфигурируются, в общем-то, аналогично.


???? Рисунок "карикатура" Веб-мастер, ведущий войну с посетителями – посетитель хочет забрать файл, а Веб мастер, вцепившись в него мертвой хваткой – не отдает!

ReGet


В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "HTTP", где перемещением радио кнопки в секции "Строка User-Agent" выберите: какое именно приложение необходимо имитировать.

Секция " Строка Referrer" задает способ заполнения содержимого поля "Referrer". На выбор пользователя предложены следующие варианты: "Нет" – поле "Referrer" остается пустым; "Версия ReGet" – в поле "Referrer" попадет версия ReGet, например, "ReGet/1.4.0.393  SE" (не очень хорошо для имитации браузера, но зато честно); наконец, ниспадающий бокс со строкой редактирования позволяет задать содержимое поля "Referrer" самостоятельно – для обхода защиты (если она есть – т.е. файл с сервера не отдается иным образом) занесите сюда адрес странички, содержащей ссылку на файл (он содержится в строке "Адрес" браузера). Такую операцию придется проделывать для скачки каждого файла с защищенного сервера. Чтобы постоянно не лазить в глобальные настройки "Свойств закачки по умолчанию" при добавлении новой закачки в закладке "URL" взведите галочку "Использовать собственные расширенные настройки", затем, в раскрывшемся веере закладок, перейдите к закладке "HTTP" и скопируйте адрес страницы в локальное поле "Referrer". Это довольно утомительное занятие, но ReGet не предоставляет никаких средств для его автоматизации. Впрочем, web-мастера, ведущие планомерную войну со своими посетителями, встречаются не так уж часто, поэтому к описанному выше трюку прибегать придется редко.

Teleport Pro


Популярный "телепортатор" сайтов – Teleport Pro – значительно менее гибок, чем его сотоварищ ReGet и не позволяет манипулировать содержимым поля "Referrer", – вся имитация браузера сводится к подделке поля "User-Agent".

Для задания желаемого значения в меню " Project" выберите пункт "Project Properties" и в появившемся диалоговом окне перейдите к закладке "Netiquette" – там, в поле "Agent Identify", предлагается на выбор один из пунктов:


"Anonymous"

– аноним (поле User-Agent пустое);


" Identify as Teleport Pro

– идентифицировать себя как Teleport Pro (по умолчанию);


"Impersonate Microsoft Internet Explorer, version"

– выдавать себя за Internet Explorer указанной версии (номер версии указывается в соответствующем окне);


" Impersonate Netscape Navigator"

– выдавать себя за Netscape Navigator указанное версии;


"Use this identification"

– в поле "User-Agent" помещается строка, введенная пользователем.


Родственные вопросы:

Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?


Q: Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват, и что делать?


Причин, по которым скаченный файл может отказаться распаковываться (запускаться), – множество. Кстати, не факт, что файл действительно полностью скачался – многие серверы не поддерживают функцию определения размера качаемого файла и, если соединение внезапно разорвется, для качальщика это будет выглядеть неотличимо от конца файла. В такой ситуации определить действительный конец невозможно – попробуйте скачать файл еще раз – если получится тот же самый размер, скорее всего, файл был получен целиком, ведь маловероятно чтобы соединение дважды разрывалось на одном и том же месте, хотя и такое в жизни бывает.

Другой "тонкий" момент– при скачивании файла с ftp-сервера в режиме "ASCII" все символы конца строки передаваемого файла принудительно замещаются сервером двухбуквенной последовательностью "возврат каретки, конец строки" согласно стандарту виртуальных терминалов. Подобная мера необходима для согласования различных платформ, сред и операционных систем, т.к. в силу исторических причин все они имеют собственный взгляд на формат завершения строки. Например, в текстовом файле, созданным редактором UNIX, каждая строка традиционно завершается символом с кодом 0xA, что "переваривает" далеко не всякий Windows (DOS) редактор, ожидающий увидеть в конце строки комбинацию 0xD 0xA. Поэтому, приведение содержимого файла, сливаемого с ftp-сервера, к единому стандарту вполне разумно и полезно, за исключением нетекстовых файлов (архивов, исполняемых и т.д.) бесцеремонное вмешательство во внутреннюю структуру которых, скорее всего, приведет к их необратимой порче. О том, как выключить режим "ASCII" см. ответ на вопрос "subQ: Что такое режим ASCII и как его отключить в моем ftp-клиенте?"

При сливании файла через Proxy часто возникает следующая проблема: при обрыве соединения с удаленным сервером Proxy пытается сообщить пользователю об ошибке, дописывая в конец файла собственное сообщение. Если "качальщик" не распознает такой ситуации и при докачке файла начнет записывать новые данные в его конец – файл окажется безнадежно искореженным застрявшем в его теле сообщением. Во избежание подобных казусов некоторые "качальщики" (GetRight, ReGet) после каждого обрыва отрезают некоторый кусок от "хвоста" файла – достаточно длинный для того, чтобы гарантировано вместить в себя зловредное сообщение об ошибке. Как правило, для этого достаточно двух – четырех килобайт, т.е. теряется всего лишь несколько секунд перекачки на каждый разрыв, что вполне приемлемо. Однако в излишнем рвении к оптимизации, некоторые разработчики не задействуют такой режим по умолчанию, и его приходится включать принудительно (ReGet к таковым не относится). Как именно это сделать – читайте в прилагаемой к "качальщику" документации. Универсальных решений и даже устоявшихся названий этой опции не существует.

Наконец, файл может быть поврежден на самом сервере или же стоит "битый" сервер, калечащий сливаемые файлы. В качестве примера можно привести сервер kpnc.lib.ru, на котором находится сайт автора – с него невозможно слить ни один двоичный файл, в том числе и файл, содержащий заархивированное содержимое компакт-диска, прилагаемого к книге "Техника и философия хакерских атак" Криса Касперски.


Родственные вопросы:

Что такое режим ASCII и как его отключить в моем ftp-клиенте? (следующий)


subQ: Что такое режим ASCII и как его отключить в моем ftp-клиенте?


Режим ASCII предписывает ftp-серверу передавать (принимать) содержимое файла в восьмибитной ASCII-кодировке, принудительно замещая все символы "конца строк" двухбуквенными последовательностями "перевод каретки, конец строки" согласно спецификации виртуальных терминалов (подробнее см. ответ на предыдущий вопрос).

Такой режим не годится для двоичных файлов, например, архивов или исполняемых, поэтому в таких случаях его следует отключить (или, наоборот, не включать – в зависимости от настроек ftp-клиента по умолчанию). Как конкретно это сделать должно быть рассказано в прилагаемой к программе документации (прочитайте ее от корки до корки, документация – вещь хорошая!), а ниже в качестве демонстрации будет показано как отключить ASCII-режим в популярных клиентах ReGet и FAR, в остальных же случаях ищете в настройках опции "ASCII mode" или "ASCII режим", так же может быть "Не замещать LF на CR LF" {>>>>> сноска – LF – Line Feed – конец строки, CR - carriage return – возврат каретки} "Don’t replace (синонимы – reform, reorganize; change, transform, convert…) LF to CR LF" по-английски.

FAR


В свойствах ftp-адреса, вызываемых нажатием <F4> (при этом курсор должен находиться на том адресе, чьи свойства хотят менять), необходимо снять флажок "ASCII mode" (по умолчанию снят) и нажать "Save" для сохранения настроек или "Connect" для установки пробного соединения без сохранения настроек.


╔═════════════════════════ Edit FTP address ═════════════════════════╗

║ ftp://user:password@host:port/dir ║

║ ftp.microprose.com ↓║

║ User password: ║

║ ║

║ FTP description: ║

║ ║

╟────────────────────────────────────────────────────────────────────╢

║ [ ] Ask password directly before connecting ║

[ ] Ascii mode

║ [ ] Passive mode ║

║ [ ] Use firewall ║

╟────────────────────────────────────────────────────────────────────╢

║ [ Save ] [ Connect ] [ Select table ] [ Cancel ] ║

╚════════════════════════════════════════════════════════════════════╝


Рисунок 32 Выключение режима ASCII в FAR

ReGet


В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "FTP", в ней сбросьте галочку "Режим ASCII" (сброшена по умолчанию) и нажмите клавишу "OK", чтобы проделанные изменения вступили в силу.


Q: Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?


Специфика работы ftp-сервера такова, что он требует для своей работы установки сразу двух соединений: одного – для обмена командами, другого – для приема или посылки данных. "Командное" соединение всегда устанавливает клиент и Proxy-сервер (firewall) его благополучно "пропускает" (см. "Интернет. Общие вопросы  Что такое Proxy-сервер и как с ним работать?"), а вот соединение для передачи данных может устанавливать либо сам сервер (активный режим) или клиент (пассивный режим).

При работе под Proxy-сервером активный режим невозможен, т.к. Proxy допускает установку лишь исходящих соединений – от клиента к серверу, но не наоборот, а Firewall может быть сконфигурирован так, чтобы блокировать входящие соединения (хотя это и не обязательно). Поэтому ftp-клиент должен быть переведен в пассивный режим. Как конкретно это сделать рассказывается в документации, прилагаемой к используемому приложению (во всяком случае, должно рассказываться), если, конечно, данное приложение поддерживает пассивный режим.

Ниже в качестве примера приведена техника конфигурирования двух популярных ftp-клиентов – FAR-менеджера и "качальщика" ReGet. Все остальные конфигурируются приблизительно тем же образом (ищите пункт "Пассивный режим" или "Passive mode" по-английски).

FAR


В меню " Options" выберите пункт "Plug-ins configuration", а в нем – "FTP-client". В открывшемся диалоговом окне взведите галочку напротив "Passive Mode" (см. так же "Интернет. Общие вопросы  Как заставить такое-то приложение работать через Proxy (Firewall)"). Нажмите "ОК" и повторите попытку получения файла.

ReGet


В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "FTP", а в ней взведите галочку "Пассивный режим". Нажмите "ОК" и повторите попытку получения файла.


Родственные вопросы:

Интернет. Общие вопросы  Что такое Proxy-сервер и как с ним работать?

Интернет. Общие вопросы  Как заставить такое-то приложение работать через Proxy (Firewall)