|

Полноценное использование служебного Инета
Xakep, номер #039, стр. 039-056-1
FINNAN (finnan@mail.ru)
В любимом институте (в школе, на работе, в больничной палате) наконец наладили iNet. Появился полноценный и широкий канал. Казалось бы, вот он, рулез! Юзай и наслаждайся! Но не тут-то было: оказывается, что все попытки доступа к mp3, avi и mpg злостным образом пресекаются и логируются. Оно и понятно: большие суровые дяди (а также не менее большие и суровые тети), вложившие свои деньги в столь желанный канал, совсем не хотят, чтобы он был использован для скачивания гигов музона и фильмов. Поэтому и получается, что хоть этот Инет широк и халявен, а использовать его в свое удовольствие никак нельзя. Но отчаиваться не стоит: Х поможет тебе немного изменить суровую действительность и сделать мир более радужным.
Знакомая ситуация, да?
Давай думать: если не получается скачать mp3-шку, значит в какой-то момент фильтрующая система приходит к выводу, что это именно mp3, а не html или, скажем, jpg. Обрати внимание: мне не интересно, как именно это происходит. Может быть анализируется только расширение файла (чаще всего) или наличествует попытка опознать его тип по заголовку, а может быть имя сервака, на котором лежит желанный музон, попало в черный список. Изощренность и количество подобных проверок определяются лишь квалификацией админа и его нелюбовью к своим подопечным. Важно знать лишь то, что, изменив расширение файла и хорошенько переворошив его внутренности, можно успешно преодолеть все эти фильтры и даже пройти самую злую и строгую проверку - проверку непосредственно админом (хотя подобную честь надо еще заслужить). Но я начну с самого простого способа.
FTP => FTP
Как я уже сказал, это - самый простой метод решения насущной проблемы (в том плане, что не нужно писать никаких скриптов), но, к сожалению, его применимость сильно ограничена. Он состоит в следующем. Очень часто всем пользователям (в школе, институте, в общем, в рассматриваемой организации) предоставляют ftp-доступ извне, чтобы они могли работать со своим файлами, например, из дома. Если это так и, кроме того, если нужный файл (желанный музон или видео) лежит на каком-либо ftp-сервере, то можно попробовать передать файл от исходного ftp-сервера своему. Если получится - проблема будет решена, т.к. фильтры, упоминавшиеся выше, как правило, анализируют только HTTP-траффик. Однако, чтобы осуществить такой трансферт, необходимо разобраться с протоколом FTP (постарайся вникнуть - это понадобится в дальнейшем).
Итак, FTP. Этот протокол предназначен для передачи файлов (что, в общем, неудивительно, т.к. FTP - File Transfer Protocol) и является протоколом прикладного уровня.
Разумеется, первое, что нужно сделать, - это приконнектиться на 21 порт (порт ftp по умолчанию) соответствующего сервера. Установленное при этом соединение предназначено для передачи команд на сервер и принятия отклика на них. Чтобы передать данные, следует открыть еще одно соединение. Тут возникает вопрос: кто к кому будет коннектиться? Как ни странно, возможны только два варианта: либо клиент к серверу (пассивный режим сервера), либо наоборот (активный режим). В первом случае, после того как клиент сообщит серверу о своем желании открыть соединение данных, сервер указывает клиенту адрес и порт, куда клиенту следует коннектиться (очень часто указываемый адрес является адресом сервера). Во втором случае клиент указывает серверу адрес и порт, куда тот должен коннектиться. После этого устанавливается соединение данных и можно отдавать серверу команды работы с файлами. Обрати внимание: способ установки соединения данных (кто к кому коннектится) и направление передачи файла через него (т.е. от сервера или наоборот) никак не связаны. Соединение данных может устанавливаться и разрываться несколько раз за одну сессию; например, когда ты юзаешь CuteFTP, FAR или другую программу-клиент, то каждый раз при переходе из одного каталога в другой они запрашивают список файлов в текущей директории, при этом устанавливается соединение данных, отправляется на сервер соответствующая команда, ее результат (список файлов) принимается через соединение данных и затем оно разрывается.
Содержание Вперед на стр. 039-056-2
|