Собственно ради реализации различных процедур через сеть и создавался Интернет. Данный раздел отражает наиболее динамично развивающуюся часть Интернет-технологий. Одни виды услуг устаревают и выходят из употребления (
Протокол
Если команда
При вводе
После того как связь установлена, начинаются переговоры об используемых опциях (см. табл. 1.1). Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont (см табл. 1.4).
| Код опции в |
Описание | Номер RFC |
|---|---|---|
| 0 | Двоичный обмен | 856 |
| 1 | Эхо | 857 |
| 2 | Повторное соединение | NIC 15391 |
| 3 | Подавление буферизации ввода | 858 |
| 4 | Диалог о размере сообщения | NIC 15393 |
| 5 | Статус | 859 |
| 6 | Временная метка | 860 |
| 7 | Удаленный доступ и отклик | 726 |
| 8 | Длина выходной строки | nic 20196 |
| 9 | Размер выходной страницы | nic 20197 |
| 10 | Режим вывода символов <возврат каретки> | 652 |
| 11 | Вывод горизонтальной табуляции | 653 |
| 12 | Установка положения табуляции при выводе | 654 |
| 13 | Режим вывода команды смены страницы | 655 |
| 14 | Вывод вертикальной табуляции | 656 |
| 15 | Определяет положение вертикальной табуляции | 657 |
| 16 | Режим вывода символа <перевод строки> | 658 |
| 17 | Расширенный набор кодов ASCII | 698 |
| 18 | Возврат ( |
727 |
| 19 | Байт-макро | 735 |
| 20 | Терминал ввода данных | 732 |
| 21 | Supdup | 736 |
| 22 | Supdup-вывод | 747 |
| 23 | Место отправления | 779 |
| 24 | Тип терминала | 930 |
| 25 | Конец записи | 885 |
| 26 | Tacacs-идентификация пользователя | 927 |
| 27 | Пометка вывода | 933 |
| 28 | Код положения терминала | 946 |
| 29 | Режим 3270 | 1041 |
| 30 | X.3 PAD | 1053 |
| 31 | Размер окна | 1073 |
Далее , где 24 — код-идентификатор терминала. Получатель может откликнуться последовательностью , если все в порядке. Сервер, в свою очередь, посылает последовательность , запрашивая тип терминала клиента. Здесь код 24 означает, что это субопция для опции типа терминала (см. табл. 1.1),
а следующая 1 является командой "пришлите код вашего терминала". Клиент в свою очередь может откликнуться, послав последовательность . Здесь байт 0 означает "мой терминал имеет тип". Список кодов терминалов содержится в RFC-1700.
Когда связь с удаленной ЭВМ уже осуществлена, переход в
| open имя_ЭВМ [ порт ] | open открывает связь с ЭВМ, имя которой указано в обращении. Если номер порта явно не указан, |
|---|---|
| display [ аргумент ... ] | Отображает все или часть набора параметров |
| Close | Закрывает сессию |
| Quit | Закрывает любую сессию |
| mode type | Управляет |
| status | Отображает текущий статус |
| ? [ команда ] | Выдает справочную информацию о команде, название которой приведено в качестве аргумента |
| send arguments | Посылает удаленной ЭВМ один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, |
| escape | Посылает escape-символ (например, '^]') |
| SYNCH | Посылает synch-последовательность. Эта последовательность позволяет аннулировать все, что было до этого напечатано, но еще не считано. Эта последовательность посылается как срочная (важная) TCP-информация (может не сработать, если удаленной системой является 4.2 BSD). Если последовательность не сработала, на терминал будет послан символ "r" |
| brk | Посылает Break-последовательность при нажатии клавиши Break (Pause) |
| set argument value | Присваивает любому числу переменных off выключает функцию, соответствующую данной переменной |
Значения переменных можно узнать с помощью команды display. Такими переменными могут быть: escape, interrupt, quit, flushoutput, erase, kill, eof, echo. Последняя переменная (в исходном состоянии '^E') в построчном режиме осуществляет переключение между локальным эхо на ввод символа (режим по умолчанию) и подавлением эхо, например, при вводе пароля. Переменные процедуры
Практически стандарт
| Название переменной | Назначение |
|---|---|
| Echo | Определяет, будет ли отображаться на экране то, что вы вводите с клавиатуры. При значении off ввод не отображается, например, при вводе пароля |
| Escape | Задает символ, который используется в качестве escape. Появление этого символа во входном потоке заставляет его и последующие символы интерпретироваться в ЭВМ, где функционирует процесс |
| Interrupt | Специфицирует символ прерывания процесса. Ввод его приводит к остановке |
| Quit | Специфицирует символ, который используется пользователем на его клавиатуре для выполнения команд brake или |
| Flushoutput | Определяет символ, который служит для прерывания процедуры вывода на удаленной ЭВМ |
| EOF | Специфицирует символ, который используется для обозначения конца файла на удаленной машине |
| Последовательность символов | Назначение |
|---|---|
| ? | Отображает справочную информацию о команде send |
| escape | Посылает символ escape (без прерывания посылки символов для |
| ip | Посылает протокольную последовательность |
| ec | Посылает протокольную EC-последовательность |
| el | Посылает протокольную EL-последовательность |
| ao | Посылает протокольную AO-последовательность |
| brk | Посылает протокольную BRK-последовательность |
| Посылает протокольную |
В таблице 1.4 представлены наименования и коды команд 0xff (
| Имя субкоманды |
Код | Описание |
|---|---|---|
| EOF | 236 | |
| SUSP | 237 | Отложить исполнение текущего процесса |
| ABORT | 238 | Прервать процесс |
| 239 | Конец записи | |
| NOP | 241 | Никаких действий |
| DM(Метка данных) | 242 | Блок данных процедуры SYNCH |
| BRK (Остановка) | 243 | BRK-символ (break) |
| IP(Прерывание процесса) | 244 | IP-функция |
| io (Прерывание вывода) | 245 | AO-функция |
| 246 | ||
| EC (Стереть символ) | 247 | EC-функция |
| EL (Стереть строку) | 248 | EL-функция |
| GA (Продолжайте) | 249 | GA-функция |
| SB | 250 | Начало субопции |
| SE | 240 | Завершение согласования параметров (конец субопции) |
| Will ("будет") | 251 | Начало исполнения ( |
| Won't (не будет) | 252 | Отказ исполнения или продолжения выполнения ( |
| Do ("исполнить") | 253 | Индицирует запрос, который другая система исполняет ( |
| Don't ("Нет") | 254 | Требует, чтобы другая система остановила исполнение ( |
| 255 | Интерпретируется как начало командной последовательности |
Операция "прерывание процесса" (IP) позволяет прервать, удалить или завершить
Процедура "прерывание вывода" (AO) позволяет
Запрос "Вы здесь?" (
Операция "стереть символ" (EC) позволяет пользователю удалить символ из потока данных, применяется для редактирования текста на экране.
Операция "стереть строку" (EL) позволяет пользователю при редактировании удалить целую строку.
Команда "go ahead" (GA, "продолжайте") устанавливает полудуплексный режим передачи данных. Каких-либо воздействий на удаленную ЭВМ обычно не производит. В таблице 1.5 приведен список комбинаций клавиш, нажатие которых вызывает определенный результат.
| Комбинация клавиш | Достигаемый результат |
|---|---|
| Ctrl+E | Echo |
| Ctrl+] | Escape |
| Ctrl+? | Erase |
| Ctrl+O | flushoutput |
| Ctrl+C | Interrupt (прерывание исполнения программы) |
| Ctrl+U | Kill |
| Ctrl+\ | Quit |
| Ctrl+D | EOF |
Блок данных процедуры
(рис 1.1) Формат блока данных TelnetПервый байт в соответствии с таблицей содержит 8 единиц, далее следует байт команды (табл. 1.4). Третий октет служит для размещения кода опции, он может и отсутствовать.
Рассмотрим несколько примеров этих команд. Допустим, вы хотите, чтобы обмен данными производился в виде 8-битовых посылок. Для реализации вашего пожелания достаточно выдать команду:
IAC WILL TRANSMIT-BINARY,
которая в цифровых кодах выглядит как ( 255 251 0 ).
Для прекращения этого (двоичного)
IAC DON’T TRANSMIT-BINARY (255 254 0).
Субкоманды (часто это реализовано по умолчанию).
При работе с
Многие
telnet XXXXXX.domain <номер порта>
можно осуществить связь через порт с заданным номером с узлом XXXXXX.domain. Многие библиотеки применяют метод портов для обеспечения доступа к своим ресурсам внешних Inernet-пользователей. Помимо
SUN Microsistems разработала и широко использует программный модуль RPC (Remote Procedure Call, RFC-1057), он используется для удаленного вызова программ почти во всех системах, базирующихся на UNIX. RPC может применяться как на TCP, так и UDP транспортных уровнях.
Для удаленного исполнения программ может служить команда REXECD, которая активно используется на IBM-системах в рамках ОС AIX.
Уязвимость протокола
Здесь, так же, как и в случае
get, mget, dir, mdel, mput, put и т.д.)quit или close ) для порта 21 и ждет соединения с клиентом. В качестве транспорта применяется протокол ТСР. Клиент осуществляет операцию для порта 21. Канал остается активным до завершения процедуры end_of_file (конец файла).
IP-тип сервиса (TOS) в этом случае ориентирован на максимальную пропускную способность.
Конечный пользователь взаимодействует с протокольным интерпретатором, в задачи которого входит управление обменом информацией между пользователем и файловой системой, как местной, так и удаленной. Схема взаимодействия различных частей Internet при работе
Сначала по запросу клиента формируется канал управления, который в дальнейшем используется для передачи команд от клиента и откликов от сервера. Информационный канал формируется сервером по команде клиента, он не должен существовать постоянно на протяжении всей
(рис 1.2) Схема работы протокола FTPВозможна и другая схема взаимодействия, когда по инициативе клиента осуществляется файловый обмен между двумя ЭВМ, ни одна из которых не является машиной клиента (см. рис 1.3).
На фазе задания режима обмена предоставляются следующие возможности.
(рис 1.3) Организация информационного обмена между двумя удаленными машинамиКоманда Block сохраняет структуру логических записей файла.
Команда Stream устанавливает режим, при котором не производится пересылки контрольной информации для блоков. Это наиболее быстрый режим обмена, он работает по умолчанию.
Команда TYPE может задать режимы обмена IMAGE, ASCII или
Режим EBCDIC применяется для обменов между ЭВМ, работающими с набором символов
Режим IMAGE предполагает обмен 8-битными байтами, используется для передачи двоичной (а не текстовой) информации.
Более подробный список команд помещен ниже. Структурно информация может передаваться в виде файлов (структура по умолчанию), в виде последовательности записей (применимо для текстовых файлов ASCII или
Для копирования файла из удаленного сервера используется команда GET, для копирования группы файлов — MGET, в последнем случае применяются символы-заменители, например, MGET *.txt (или RFC-18*.txt, при этом скопируются файлы с RFC-1800.txt до RFC-1899.txt, если таковые существуют в текущем каталоге). Аналогом команды GET в какой-то степени является команда DIR (ls), только она переносит содержимое каталога, что для некоторых операционных систем эквивалентно. При использовании модификации mget проявляйте осторожность — вы можете заблокировать телекоммуникационный канал длительным копированием. Для записи файла в удаленный сервер применяется команда PUT. При операциях обмена обычно используется текущий каталог локальной ЭВМ. В вашем распоряжении всегда имеется возможность поменять местный каталог с помощью команды
get, dir, put и т.д.passive open для этого порта.PORT. Можно обойтись и без команды PORT (ведь применяется тот же порт, что и в командном канале), но это увеличивает задержки и по этой причине не рекомендуется.active open в указанный порт ЭВМ-клиента. Сервер для канала данных всегда использует порт с номером 20.Рассмотрим пример
FTP -d ns.itep.ru (флаг -d означает установку отладочного режима, при
котором выдаются все сообщения и внутренние команды
на экран терминала)
FTP Trying...Open
220- *** Welcome at FTP-Server ftp.ITEP.RU ***
220-
220 ns.itep.ru FTP server ready.
Userid for logging in on ns.itep.ru (SEMENOV)? semenov
FTP command: USER semenov
FTP response: 331 Password required for semenov.
331 Password required for semenov.
Password for logging in as semenov on ns.itep.ru? XXXXXXXX
PASS XXXXXXXX (ввод пароля не отображается на экране)
FTP response: 230 User semenov logged in.
230 User semenov logged in.
ftp:ns.itep.ru> help (просьба выдать список доступных на данном
сервере FTP-команд)
Any unambiguous abbreviation for a command may be used.
Available commands are:
! ? acct append ascii binary bye cd debug
delete dir drive Exit fcd fdir fpwd get help
iget image iput Lcd ldir lmkdir local login lpwd
ls mdelete mget mkdir mput option parent passive put
pwd quit quote rename retrieve rmdir send server show
stat store take tenex tget tput type user verbose
version
ftp:ns.itep.ru> quit
FTP command: QUIT
FTP response: 221 Goodbye.
Уход из quit. В приведенном примере файловый обмен не производился, но и команда HELP требует переноса информации (так же, как и dir ), так как вам выдается список команд, доступных на удаленном сервере. Из воспроизведенного списка команд самая опасная — mdelete, так как она способна стереть целый каталог. Нетекстовые файлы (архивированные, графические и программные) следует пересылать в режиме binary. Для перевода в этот режим используется одноименная команда. Для перехода из одного каталога в другой на удаленном сервере служит команда cd имя_каталога, а для возврата в предшествующий — cd .. . Например, cd /pub/msdos.
Ссылка на объект, доступный через анонимное
Название ресурса Имя сервера Имя каталога в сервере.
Например:
Internet-cmc ftp.rpi.edu /pub/communications/internet-cmc.txt
ftp://ftp.rpi.edu/pub/communications/internet-cmc.txt
Internet-
Ниже приведен список базовых команд
| Субкоманды FTP | Описание |
|---|---|
| ABOR | Прерывание исполнения предыдущей |
| ACCT<SP> <accountinformation> | Ввод идентификатора пользователя (ID) |
| ALLO <SP> <десятичное целое> [<SP> R <SP> <десятичное целое>] | Зарезервировать достаточно места (в байтах) для пересылки файла. Для файлов с постраничной структурой после символа R указывается число записей |
| APPE <SP> <проход> | Присовокупить передаваемые данные к файлу, указанному в параметре проход |
| CDUP | Переход в каталог-прародитель |
| CWD <SP> <проход> | Изменить рабочий каталог (CD) |
| DELE <SP> <проход> | Стереть файл (del) |
| HELP | Выдать справочную информацию о выполнимых командах |
| HELP [<SP> <строка>] | Выдать описание работы данной команды |
| LIST [<SP> <проход>] | Вывод списка файлов или каталогов (dir) |
| MKD <SP> <проход> | Создать каталог |
| MODE <SP> <код режима> | Режим обмена = поток, блоки или со сжатием |
| NLST [<SP> <проход>] | Переслать оглавление каталога от сервера к клиенту |
| NOOP | Пустая команда |
| PASS <SP> <пароль> | Слово-пропуск (пароль) пользователя, заполняется пользователем |
| PASV | Перевести сервер в режим прослушивания информационного порта на предмет установления соединения |
| PORT <SP> <порт ЭВМ> | IP-адрес и номер порта клиента |
| PWD | Выдать имя текущего каталога |
| QUIT | Уход из |
| REIN | Завершение сессии и открытие новой |
| REST <SP> <маркер> | Возобновление обмена, начиная с места, указанного маркером |
| RETR <SP> <проход> | Переслать копию файла (get) другому адресату |
| RMD <SP> <проход> | Удалить каталог |
| RNFR <SP> <проход> | Начало процедуры переименования файла (Rename From) |
| RNTO <SP> <проход> | Указание нового имени файла при переименовании (Rename To)_ |
| SITE <SP> <строка> | Используется сервером для реализации локально специфических команд |
| SMNT <SP> <проход> | Позволяет пользователю смонтировать нужную файловую систему |
| STAT | Выдать текущие значения параметров (STATUS) |
| STOR <SP> <проход> | Сервер должен запомнить полученные данные в виде файла |
| STOU | Аналог команды STOR, но записывает файл в текущий каталог и присваивает файлу уникальное имя |
| STRU <SP> <код структуры> | Структура файла = файл, запись или страница |
| SYST | Сервер сообщает тип системы |
| TYPE <SP> <код типа> | Специфицирует тип информации, часто для этой цели используются команды binary и ASCII |
| USER <SP> < [имя [пропуск]] > | Идентифицирует пользователя, запрашивается сервером |
| ? | То же, что и HELP; |
| Изменить локальный каталог (на вашей ЭВМ) | |
| ! | Выйти временно из |
| ! команда | Исполнить команду Shell (UNIX) |
| close | Прервать связь с удаленным сервером, оставаясь в |
| open [имя_ЭВМ] | Установить связь с указанным удаленным сервером |
| dir | Выдать содержимое удаленного каталога |
<SP> — пробел; все команды завершаются последовательностью <CRLF> возврат каретки + перевод строки. В квадратных скобках записан
В рамках процедуры
| ! [ команда ] | Исполняется команда интерпретатора shell вашей ЭВМ (UNIX). Если имя команды явно не введено, система переходит в |
|---|---|
| $ имя-макро [ аргументы ] | Выполняется макро, имя которого введено, аргументы используются этим макро |
| account [ пароль ] | Позволяет ввести пароль, необходимый для доступа в удаленный сервер |
| append имя_местного_файла [ имя_удаленного_файла ] | Добавить местный файл к файлу на удаленном сервере |
| Bye | Завершает |
| case | Переключает регистр символов, которыми записаны имена файлов на удаленной ЭВМ, в процессе выполнения команды MGET. Если case включен (по умолчанию выключен), все прописные буквы в именах файлов на удаленной ЭВМ меняются при переносе в вашу ЭВМ на строчные |
| close | Завершает |
| debug [ debug-value ] | Включает/выключает |
| dir [ удаленный каталог ] [ местный файл ] | Выдает на экран содержимое удаленного каталога. Если в качестве параметра указано имя местного файла, результат заносится в него. Если имя удаленного каталога не указано, команда выполняется для текущего каталога |
| disconnect | синоним close |
| hash | включает/выключает знак (#). Во включенном состоянии отмечается пересылка каждого блока, что позволяет визуально контролировать процесс обмена |
| macdef macro-name | Определяет макро. Последующие строки запоминаются в качестве текста макро с именем macro-name. Нулевая строка (двойное нажатие клавиши RETURN) завершает ввод текста макро. Можно ввести до 16 макро с суммарным объемом до 4096 символов |
| mdelete [ имена_файлов_на удаленной_ЭВМ ] | удаляет файлы на удаленной ЭВМ |
| open имя-ЭВМ [ port ] | устанавливает связь с указанным |
| prompt | включает/выключает |
| proxy | |
| quit | синоним bye |
| recv | удаленный_файл [ местный_файл ] синоним команды get |
| remotehelp [ имя_команды ] | Запрашивает справочную информацию от удаленного |
| runique | Включает режим записи файлов в вашу ЭВМ только с уникальными именами. Если файл с таким именем уже существует, то новому файлу будет присвоено имя с расширением .1, если и такое имя уже есть, то с расширением .2. Это может продолжаться вплоть до расширения .99, после чего будет выдано сообщение об ошибке. Впрочем, такую ситуацию вообразить крайне трудно, если вы сами не наплодили файлов с цифровыми расширениями. Для команды mget это крайне полезная функция, которая застрахует вас от стирания из текущего каталога ваших файлов, которые имеют имена, совпадающие с именами на удаленном сервере. По умолчанию runique не включено |
| send local-file [ remote-file ] | Синоним команды put |
| status | Отображает текущее состояние |
В депозитариях можно встретить файлы следующих разновидностей (все виды ниже перечисленных файлов пересылаются в режиме binary, а не ASCII) (таблица 1.7).
| Тип файла | Пример записи имени файла | Программа обработки файла |
|---|---|---|
| Архивированный файл | файл.Z | compress, |
| tar-файл | файл.tar | Tar |
| Архивированный tar-файл | файл.tar.Z | tar, compress, |
| файл.tar.gz | Применен архиватор GZIP | |
| файл.uue | ||
| Архивированный |
файл.uue.Z | |
| zip-файл | файл.zip | |
| shar-файл | файл.shar | shar, sh, unshar |
| сжатый shar-файл | файл.shar.Z | shar, sh, unshar, compress, |
При выполнении
| Значение кода-отклика | Описание |
|---|---|
| 1yz | Позитивный предварительный отклик, который означает, что операция начата. До завершения процедуры следует ожидать как минимум еще один отклик |
| 2yz | Сигнал успешного завершения процедуры, говорящий о том, что можно ввести новую команду |
| 3yz | Положительный промежуточный отклик, указывающий на то, что команда воспринята, но для продолжения требуется дополнительная информация |
| 4yz | Негативный отклик, свидетельствующий о том, что команда не воспринята, но можно попробовать ее исполнить еще раз |
| 5yz | Отклик, говорящий о том, что команда не выполнена и не может быть выполнена вообще |
Значение кода "y" в вышеприведенной таблице может принимать значения от 0 до 5. Значения кодов "y" приведены ниже в таблице 1.8a.
| Значение кода-отклика | Описание |
|---|---|
| x0z | Указывает на синтаксическую ошибку; синтаксис верен, но команда не имеет смысла |
| x1z | Указание на необходимость ввода дополнительной информации |
| x2z | Отклик, связанный с управлением каналом связи |
| x3z | Отклик для команд идентификации пользователя и проверки пароля |
| x4z | Функция не определена |
| x5z | Отклик, характеризующий состояние файловой системы |
Далее в тексте встречается выражение "анонимное
ftp> login: anonymous ftp> password: [ваш полный E-mail адрес] ftp> cd <имя_каталога > (смена каталога) ftp> binary (если текст, например, архивирован, в противном случае команду выдавать не нужно) ftp> get <имя_файла> (копирование файла) ftp> quit (уход из процедуры)
Следует иметь в виду, что некоторые анонимные
| Код-отклик | Описание |
|---|---|
| 110 | Комментарий |
| 120 | Функция будет реализована через nnn минут |
| 125 | Канал открыт, обмен данными начат |
| 150 | Статус файла правилен, подготавливается открытие канала |
| 200 | Команда корректна |
| 211 | Системный статус или отклик на справочный запрос |
| 212 | Состояние каталога |
| 213 | Состояние файла |
| 214 | Справочное поясняющее сообщение |
| 220 | Слишком много подключений к |
| 221 | Благополучное завершение по команде quit |
| 225 | Канал сформирован, но информационный обмен отсутствует |
| 226 | Закрытие канала, обмен завершен успешно |
| 230 | Пользователь идентифицирован, продолжайте |
| 250 | Запрос прошел успешно |
| 331 | Имя пользователя корректно, нужен пароль |
| 332 | Для входа в систему необходима аутентификация |
| 421 | Процедура не возможна, канал закрывается |
| 425 | Открытие информационного канала не возможно |
| 426 | Канал закрыт, обмен прерван |
| 450 | Запрошенная функция не реализована, файл не доступен, например, занят |
| 451 | Локальная ошибка, операция прервана |
| 452 | Ошибка при записи файла (не достаточно места) |
| 500 | Синтаксическая ошибка, команда не может быть интерпретирована (возможно, она слишком длинна) |
| 501 | Синтаксическая ошибка (неверный параметр или аргумент) |
| 502 | Команда не используется (нелегальный тип MODE) |
| 503 | Неудачная последовательность команд |
| 504 | Команда не применима для такого параметра |
| 530 | Система не загружена (not logged in) |
| 532 | Необходима аутентификация для запоминания файла |
| 550 | Запрошенная функция не реализована, файл не доступен, например, не найден |
| 552 | Запрошенная операция прервана, недостаточно выделено памяти |
В настоящее время разработаны версии
При работе в Интернет время от времени возникают ситуации, когда нужно определить, работоспособен ли тот или иной канал или узел, а в случае работы с динамическими протоколами маршрутизации — выяснить, по какому из каналов вы в данный момент работаете. Применяется эта процедура и для оценки вероятности потери пакетов в заданных сегментах сети или каналах. Для решения этих задач удобна программа
Для решения поставленной задачи
Команда трассировки маршрута ИТЭФ — сервер научно-исследовательской станции США Мак-Мурдо в Антарктиде (запись в файл route.txt, команда выполнялась в 1994 году):
ping -q mcmurdo-gw.mcmurdo.gov > route.txt
Содержимое файла route.txt будет иметь вид:
| hop 1: | 193.124.224.190 | ??? | имя для GW ИТЭФ пока не придумано |
| hop 2: | 193.124.137.13 | Вперед, в космос | |
| hop 3: | 193.124.137.9 | NPI- |
Через спутник "Радуга" |
| hop 4: | 193.124.137.6 | DESY.Hamburg.DE.Radio- |
пакеты совершили мягкую посадку в Гамбурге, ДЕЗИ |
| hop 5: | 188.1.133.56 | dante.WiN-IP.DFN.DE | |
| hop 6: | 193.172.4.12 | duesseldorf2.empb.net | |
| hop 7: | 193.172.4.8 | amsterdam6.empb.net | |
| hop 8: | 193.172.12.6 | Amsterdam1.dante.net | Пересекаем Атлантический океан |
| hop 9: | 194.41.0.42 | New-York1.dante.net | вступили на землю США |
| hop 10: | 192.103.63.5 | en-0.cnss35.New-York.t3. |
|
| hop 11: | 140.222.32.222 | mf-0.cnss32.New-York.t3. |
|
| hop 12: | 140.222.56.2 | t3-1.cnss56.Washington-DC.t3. |
|
| hop 13: | 140.222.145.1 | t3-0.enss145.t3. |
|
| hop 14: | 192.203.229.243 | SURA2.NSN. |
Снова в космос, |
| hop 15: | 128.161.166.1 | GSFC8.NSN. |
но теперь через американский |
| hop 16: | 128.161.232.1 | GSFC12.NSN. |
Спутник |
| hop 17: | 128.161.1.1 | ARC1NEW.NSN. |
|
| hop 18: | 192.203.230.2 | ARC1.NSN. |
|
| hop 19: | 192.100.12.2 | ARC2.NSN. |
|
| hop 20: | 128.161.115.2 | MCMURDO.NSN. |
Наденьте шапку, мы в Антарктиде! |
| Target | 157.132.100.1 | reached on hop 21 | round-trip time 1370 ms |
Фантастика, мы пересекли туда и обратно Европу, два океана и США с востока на запад, побывали в Антарктиде — и все это менее чем за полторы секунды.
Наибольшее число модификаций имеет BSD-версия
ftp://ftp.uu.net /unix/bsd-sources/sbin/ping.
Сходную информацию позволяет получить и программа
traceroute -n cernvm.cern.ch traceroute to crnvma.cern.ch (128.141.2.4) 30 hops max, 40 byte packets 1 193.124.224.50 3 ms 2 ms 2 ms 2 194.85.112.130 3 ms 3 ms 3 ms 3 194.67.80.5 4 ms 3 ms 3 ms 4 193.124.137.6 534 ms 534 ms 534 ms 5 188.1.56.5 545 ms 545 ms 546 ms 6 193.172.4.12 558 ms (ttl=59!) 549 ms (ttl=59!) 548 ms (ttl=59!) 7 193.172.4.30 580 ms (ttl=58!) 581 ms (ttl=58!) 581 ms (ttl=58!) 8 193.172.24.10 586 ms 585 ms 597 ms 9 192.65.185.1 593 ms 587 ms 598 ms 10 128.141.2.4 628 ms 602 ms 619 ms
При написании программ, использующих протокол ICMP, полезно воспользоваться отладочной опцией
ping -d# 300 ns.itep.ru (версия PCTCP, запрос отклика серверу имен;
число байт, подлежащих выдаче, равно 300)
Dump of outgoing packet
Version = 4 IP header length = 5 Precedence = Routine
Type of Service = Normal
Total length = 284 Protocol = 1 TTL = 64
45 00 01 1C 00 02 00 00 40 01 71 29 C0 94 A6 81 C1 7C E0 23 IP-заголовок
08 00 8D BD E9 03 00 01 ... ICMP-заголовок
host responding, time = 60 ms
Выдачи ради экономии места сильно сокращены. Тексты пакетов начинаются с кодов IP-версии (=4) и длины заголовка (=5), далее следует байт TOS=0, два байта длины пакета (01 1С) и т.д. в соответствии с требованиями IP-протокола.
ping -d 300 ns.itep.ru (команда получения текста пакета-отклика на запрос) host responding, time = 25 ms Dump of incoming packet Version = 4 IP header length = 5 Precedence = Routine Type of service = Normal Total length = 284 Protocol = 1 TTL = 254 45 00 01 1C EE 29 00 00 FE 01 C5 00 C1 7C E0 23 C0 94 A6 81 00 00 93 BD EB 03 00 01 ..............
В принципе, процедуру
Посылаем последовательно по адресу IP(URL) IP-пакеты со значением TTL=1, 2,... и т.д. Если до адресата больше одного шага, соответствующий маршрутизатор, размещенный по пути следования к адресату, уничтожит посланный пакет и вернет ICMP-сообщение: Time Exceeded (тип ICMP-сообщения=11, TTL стало =0), указав при этом IP-адрес узла, где это произошло. Послав запрос типа get_name_by_address для присланного IP, можно получить имя узла, откуда пришло данное уведомление. Отсутствие сообщения Time Exceeded (например, после трех попыток) будет говорить о достижении адресата. Еще лучше для контроля наличия отклика от узла-адресата использовать реализацию
Для данной методики реализации
Собственно ради реализации различных процедур через сеть и создавался Интернет. Данный раздел отражает наиболее динамично развивающуюся часть Интернет-технологий. Одни виды услуг устаревают и выходят из употребления (
Протокол
Если команда
При вводе
После того как связь установлена, начинаются переговоры об используемых опциях (см. табл. 1.1). Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont (см табл. 1.4).
| Код опции в |
Описание | Номер RFC |
|---|---|---|
| 0 | Двоичный обмен | 856 |
| 1 | Эхо | 857 |
| 2 | Повторное соединение | NIC 15391 |
| 3 | Подавление буферизации ввода | 858 |
| 4 | Диалог о размере сообщения | NIC 15393 |
| 5 | Статус | 859 |
| 6 | Временная метка | 860 |
| 7 | Удаленный доступ и отклик | 726 |
| 8 | Длина выходной строки | nic 20196 |
| 9 | Размер выходной страницы | nic 20197 |
| 10 | Режим вывода символов <возврат каретки> | 652 |
| 11 | Вывод горизонтальной табуляции | 653 |
| 12 | Установка положения табуляции при выводе | 654 |
| 13 | Режим вывода команды смены страницы | 655 |
| 14 | Вывод вертикальной табуляции | 656 |
| 15 | Определяет положение вертикальной табуляции | 657 |
| 16 | Режим вывода символа <перевод строки> | 658 |
| 17 | Расширенный набор кодов ASCII | 698 |
| 18 | Возврат ( |
727 |
| 19 | Байт-макро | 735 |
| 20 | Терминал ввода данных | 732 |
| 21 | Supdup | 736 |
| 22 | Supdup-вывод | 747 |
| 23 | Место отправления | 779 |
| 24 | Тип терминала | 930 |
| 25 | Конец записи | 885 |
| 26 | Tacacs-идентификация пользователя | 927 |
| 27 | Пометка вывода | 933 |
| 28 | Код положения терминала | 946 |
| 29 | Режим 3270 | 1041 |
| 30 | X.3 PAD | 1053 |
| 31 | Размер окна | 1073 |
Далее , где 24 — код-идентификатор терминала. Получатель может откликнуться последовательностью , если все в порядке. Сервер, в свою очередь, посылает последовательность , запрашивая тип терминала клиента. Здесь код 24 означает, что это субопция для опции типа терминала (см. табл. 1.1),
а следующая 1 является командой "пришлите код вашего терминала". Клиент в свою очередь может откликнуться, послав последовательность . Здесь байт 0 означает "мой терминал имеет тип". Список кодов терминалов содержится в RFC-1700.
Когда связь с удаленной ЭВМ уже осуществлена, переход в
| open имя_ЭВМ [ порт ] | open открывает связь с ЭВМ, имя которой указано в обращении. Если номер порта явно не указан, |
|---|---|
| display [ аргумент ... ] | Отображает все или часть набора параметров |
| Close | Закрывает сессию |
| Quit | Закрывает любую сессию |
| mode type | Управляет |
| status | Отображает текущий статус |
| ? [ команда ] | Выдает справочную информацию о команде, название которой приведено в качестве аргумента |
| send arguments | Посылает удаленной ЭВМ один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, |
| escape | Посылает escape-символ (например, '^]') |
| SYNCH | Посылает synch-последовательность. Эта последовательность позволяет аннулировать все, что было до этого напечатано, но еще не считано. Эта последовательность посылается как срочная (важная) TCP-информация (может не сработать, если удаленной системой является 4.2 BSD). Если последовательность не сработала, на терминал будет послан символ "r" |
| brk | Посылает Break-последовательность при нажатии клавиши Break (Pause) |
| set argument value | Присваивает любому числу переменных off выключает функцию, соответствующую данной переменной |
Значения переменных можно узнать с помощью команды display. Такими переменными могут быть: escape, interrupt, quit, flushoutput, erase, kill, eof, echo. Последняя переменная (в исходном состоянии '^E') в построчном режиме осуществляет переключение между локальным эхо на ввод символа (режим по умолчанию) и подавлением эхо, например, при вводе пароля. Переменные процедуры
Практически стандарт
| Название переменной | Назначение |
|---|---|
| Echo | Определяет, будет ли отображаться на экране то, что вы вводите с клавиатуры. При значении off ввод не отображается, например, при вводе пароля |
| Escape | Задает символ, который используется в качестве escape. Появление этого символа во входном потоке заставляет его и последующие символы интерпретироваться в ЭВМ, где функционирует процесс |
| Interrupt | Специфицирует символ прерывания процесса. Ввод его приводит к остановке |
| Quit | Специфицирует символ, который используется пользователем на его клавиатуре для выполнения команд brake или |
| Flushoutput | Определяет символ, который служит для прерывания процедуры вывода на удаленной ЭВМ |
| EOF | Специфицирует символ, который используется для обозначения конца файла на удаленной машине |
| Последовательность символов | Назначение |
|---|---|
| ? | Отображает справочную информацию о команде send |
| escape | Посылает символ escape (без прерывания посылки символов для |
| ip | Посылает протокольную последовательность |
| ec | Посылает протокольную EC-последовательность |
| el | Посылает протокольную EL-последовательность |
| ao | Посылает протокольную AO-последовательность |
| brk | Посылает протокольную BRK-последовательность |
| Посылает протокольную |
В таблице 1.4 представлены наименования и коды команд 0xff (
| Имя субкоманды |
Код | Описание |
|---|---|---|
| EOF | 236 | |
| SUSP | 237 | Отложить исполнение текущего процесса |
| ABORT | 238 | Прервать процесс |
| 239 | Конец записи | |
| NOP | 241 | Никаких действий |
| DM(Метка данных) | 242 | Блок данных процедуры SYNCH |
| BRK (Остановка) | 243 | BRK-символ (break) |
| IP(Прерывание процесса) | 244 | IP-функция |
| io (Прерывание вывода) | 245 | AO-функция |
| 246 | ||
| EC (Стереть символ) | 247 | EC-функция |
| EL (Стереть строку) | 248 | EL-функция |
| GA (Продолжайте) | 249 | GA-функция |
| SB | 250 | Начало субопции |
| SE | 240 | Завершение согласования параметров (конец субопции) |
| Will ("будет") | 251 | Начало исполнения ( |
| Won't (не будет) | 252 | Отказ исполнения или продолжения выполнения ( |
| Do ("исполнить") | 253 | Индицирует запрос, который другая система исполняет ( |
| Don't ("Нет") | 254 | Требует, чтобы другая система остановила исполнение ( |
| 255 | Интерпретируется как начало командной последовательности |
Операция "прерывание процесса" (IP) позволяет прервать, удалить или завершить
Процедура "прерывание вывода" (AO) позволяет
Запрос "Вы здесь?" (
Операция "стереть символ" (EC) позволяет пользователю удалить символ из потока данных, применяется для редактирования текста на экране.
Операция "стереть строку" (EL) позволяет пользователю при редактировании удалить целую строку.
Команда "go ahead" (GA, "продолжайте") устанавливает полудуплексный режим передачи данных. Каких-либо воздействий на удаленную ЭВМ обычно не производит. В таблице 1.5 приведен список комбинаций клавиш, нажатие которых вызывает определенный результат.
| Комбинация клавиш | Достигаемый результат |
|---|---|
| Ctrl+E | Echo |
| Ctrl+] | Escape |
| Ctrl+? | Erase |
| Ctrl+O | flushoutput |
| Ctrl+C | Interrupt (прерывание исполнения программы) |
| Ctrl+U | Kill |
| Ctrl+\ | Quit |
| Ctrl+D | EOF |
Блок данных процедуры
(рис 1.1) Формат блока данных TelnetПервый байт в соответствии с таблицей содержит 8 единиц, далее следует байт команды (табл. 1.4). Третий октет служит для размещения кода опции, он может и отсутствовать.
Рассмотрим несколько примеров этих команд. Допустим, вы хотите, чтобы обмен данными производился в виде 8-битовых посылок. Для реализации вашего пожелания достаточно выдать команду:
IAC WILL TRANSMIT-BINARY,
которая в цифровых кодах выглядит как ( 255 251 0 ).
Для прекращения этого (двоичного)
IAC DON’T TRANSMIT-BINARY (255 254 0).
Субкоманды (часто это реализовано по умолчанию).
При работе с
Многие
telnet XXXXXX.domain <номер порта>
можно осуществить связь через порт с заданным номером с узлом XXXXXX.domain. Многие библиотеки применяют метод портов для обеспечения доступа к своим ресурсам внешних Inernet-пользователей. Помимо
SUN Microsistems разработала и широко использует программный модуль RPC (Remote Procedure Call, RFC-1057), он используется для удаленного вызова программ почти во всех системах, базирующихся на UNIX. RPC может применяться как на TCP, так и UDP транспортных уровнях.
Для удаленного исполнения программ может служить команда REXECD, которая активно используется на IBM-системах в рамках ОС AIX.
Уязвимость протокола
Здесь, так же, как и в случае
get, mget, dir, mdel, mput, put и т.д.)quit или close ) для порта 21 и ждет соединения с клиентом. В качестве транспорта применяется протокол ТСР. Клиент осуществляет операцию для порта 21. Канал остается активным до завершения процедуры end_of_file (конец файла).
IP-тип сервиса (TOS) в этом случае ориентирован на максимальную пропускную способность.
Конечный пользователь взаимодействует с протокольным интерпретатором, в задачи которого входит управление обменом информацией между пользователем и файловой системой, как местной, так и удаленной. Схема взаимодействия различных частей Internet при работе
Сначала по запросу клиента формируется канал управления, который в дальнейшем используется для передачи команд от клиента и откликов от сервера. Информационный канал формируется сервером по команде клиента, он не должен существовать постоянно на протяжении всей
(рис 1.2) Схема работы протокола FTPВозможна и другая схема взаимодействия, когда по инициативе клиента осуществляется файловый обмен между двумя ЭВМ, ни одна из которых не является машиной клиента (см. рис 1.3).
На фазе задания режима обмена предоставляются следующие возможности.
(рис 1.3) Организация информационного обмена между двумя удаленными машинамиКоманда Block сохраняет структуру логических записей файла.
Команда Stream устанавливает режим, при котором не производится пересылки контрольной информации для блоков. Это наиболее быстрый режим обмена, он работает по умолчанию.
Команда TYPE может задать режимы обмена IMAGE, ASCII или
Режим EBCDIC применяется для обменов между ЭВМ, работающими с набором символов
Режим IMAGE предполагает обмен 8-битными байтами, используется для передачи двоичной (а не текстовой) информации.
Более подробный список команд помещен ниже. Структурно информация может передаваться в виде файлов (структура по умолчанию), в виде последовательности записей (применимо для текстовых файлов ASCII или
Для копирования файла из удаленного сервера используется команда GET, для копирования группы файлов — MGET, в последнем случае применяются символы-заменители, например, MGET *.txt (или RFC-18*.txt, при этом скопируются файлы с RFC-1800.txt до RFC-1899.txt, если таковые существуют в текущем каталоге). Аналогом команды GET в какой-то степени является команда DIR (ls), только она переносит содержимое каталога, что для некоторых операционных систем эквивалентно. При использовании модификации mget проявляйте осторожность — вы можете заблокировать телекоммуникационный канал длительным копированием. Для записи файла в удаленный сервер применяется команда PUT. При операциях обмена обычно используется текущий каталог локальной ЭВМ. В вашем распоряжении всегда имеется возможность поменять местный каталог с помощью команды
get, dir, put и т.д.passive open для этого порта.PORT. Можно обойтись и без команды PORT (ведь применяется тот же порт, что и в командном канале), но это увеличивает задержки и по этой причине не рекомендуется.active open в указанный порт ЭВМ-клиента. Сервер для канала данных всегда использует порт с номером 20.Рассмотрим пример
FTP -d ns.itep.ru (флаг -d означает установку отладочного режима, при
котором выдаются все сообщения и внутренние команды
на экран терминала)
FTP Trying...Open
220- *** Welcome at FTP-Server ftp.ITEP.RU ***
220-
220 ns.itep.ru FTP server ready.
Userid for logging in on ns.itep.ru (SEMENOV)? semenov
FTP command: USER semenov
FTP response: 331 Password required for semenov.
331 Password required for semenov.
Password for logging in as semenov on ns.itep.ru? XXXXXXXX
PASS XXXXXXXX (ввод пароля не отображается на экране)
FTP response: 230 User semenov logged in.
230 User semenov logged in.
ftp:ns.itep.ru> help (просьба выдать список доступных на данном
сервере FTP-команд)
Any unambiguous abbreviation for a command may be used.
Available commands are:
! ? acct append ascii binary bye cd debug
delete dir drive Exit fcd fdir fpwd get help
iget image iput Lcd ldir lmkdir local login lpwd
ls mdelete mget mkdir mput option parent passive put
pwd quit quote rename retrieve rmdir send server show
stat store take tenex tget tput type user verbose
version
ftp:ns.itep.ru> quit
FTP command: QUIT
FTP response: 221 Goodbye.
Уход из quit. В приведенном примере файловый обмен не производился, но и команда HELP требует переноса информации (так же, как и dir ), так как вам выдается список команд, доступных на удаленном сервере. Из воспроизведенного списка команд самая опасная — mdelete, так как она способна стереть целый каталог. Нетекстовые файлы (архивированные, графические и программные) следует пересылать в режиме binary. Для перевода в этот режим используется одноименная команда. Для перехода из одного каталога в другой на удаленном сервере служит команда cd имя_каталога, а для возврата в предшествующий — cd .. . Например, cd /pub/msdos.
Ссылка на объект, доступный через анонимное
Название ресурса Имя сервера Имя каталога в сервере.
Например:
Internet-cmc ftp.rpi.edu /pub/communications/internet-cmc.txt
ftp://ftp.rpi.edu/pub/communications/internet-cmc.txt
Internet-
Ниже приведен список базовых команд
| Субкоманды FTP | Описание |
|---|---|
| ABOR | Прерывание исполнения предыдущей |
| ACCT<SP> <accountinformation> | Ввод идентификатора пользователя (ID) |
| ALLO <SP> <десятичное целое> [<SP> R <SP> <десятичное целое>] | Зарезервировать достаточно места (в байтах) для пересылки файла. Для файлов с постраничной структурой после символа R указывается число записей |
| APPE <SP> <проход> | Присовокупить передаваемые данные к файлу, указанному в параметре проход |
| CDUP | Переход в каталог-прародитель |
| CWD <SP> <проход> | Изменить рабочий каталог (CD) |
| DELE <SP> <проход> | Стереть файл (del) |
| HELP | Выдать справочную информацию о выполнимых командах |
| HELP [<SP> <строка>] | Выдать описание работы данной команды |
| LIST [<SP> <проход>] | Вывод списка файлов или каталогов (dir) |
| MKD <SP> <проход> | Создать каталог |
| MODE <SP> <код режима> | Режим обмена = поток, блоки или со сжатием |
| NLST [<SP> <проход>] | Переслать оглавление каталога от сервера к клиенту |
| NOOP | Пустая команда |
| PASS <SP> <пароль> | Слово-пропуск (пароль) пользователя, заполняется пользователем |
| PASV | Перевести сервер в режим прослушивания информационного порта на предмет установления соединения |
| PORT <SP> <порт ЭВМ> | IP-адрес и номер порта клиента |
| PWD | Выдать имя текущего каталога |
| QUIT | Уход из |
| REIN | Завершение сессии и открытие новой |
| REST <SP> <маркер> | Возобновление обмена, начиная с места, указанного маркером |
| RETR <SP> <проход> | Переслать копию файла (get) другому адресату |
| RMD <SP> <проход> | Удалить каталог |
| RNFR <SP> <проход> | Начало процедуры переименования файла (Rename From) |
| RNTO <SP> <проход> | Указание нового имени файла при переименовании (Rename To)_ |
| SITE <SP> <строка> | Используется сервером для реализации локально специфических команд |
| SMNT <SP> <проход> | Позволяет пользователю смонтировать нужную файловую систему |
| STAT | Выдать текущие значения параметров (STATUS) |
| STOR <SP> <проход> | Сервер должен запомнить полученные данные в виде файла |
| STOU | Аналог команды STOR, но записывает файл в текущий каталог и присваивает файлу уникальное имя |
| STRU <SP> <код структуры> | Структура файла = файл, запись или страница |
| SYST | Сервер сообщает тип системы |
| TYPE <SP> <код типа> | Специфицирует тип информации, часто для этой цели используются команды binary и ASCII |
| USER <SP> < [имя [пропуск]] > | Идентифицирует пользователя, запрашивается сервером |
| ? | То же, что и HELP; |
| Изменить локальный каталог (на вашей ЭВМ) | |
| ! | Выйти временно из |
| ! команда | Исполнить команду Shell (UNIX) |
| close | Прервать связь с удаленным сервером, оставаясь в |
| open [имя_ЭВМ] | Установить связь с указанным удаленным сервером |
| dir | Выдать содержимое удаленного каталога |
<SP> — пробел; все команды завершаются последовательностью <CRLF> возврат каретки + перевод строки. В квадратных скобках записан
В рамках процедуры
| ! [ команда ] | Исполняется команда интерпретатора shell вашей ЭВМ (UNIX). Если имя команды явно не введено, система переходит в |
|---|---|
| $ имя-макро [ аргументы ] | Выполняется макро, имя которого введено, аргументы используются этим макро |
| account [ пароль ] | Позволяет ввести пароль, необходимый для доступа в удаленный сервер |
| append имя_местного_файла [ имя_удаленного_файла ] | Добавить местный файл к файлу на удаленном сервере |
| Bye | Завершает |
| case | Переключает регистр символов, которыми записаны имена файлов на удаленной ЭВМ, в процессе выполнения команды MGET. Если case включен (по умолчанию выключен), все прописные буквы в именах файлов на удаленной ЭВМ меняются при переносе в вашу ЭВМ на строчные |
| close | Завершает |
| debug [ debug-value ] | Включает/выключает |
| dir [ удаленный каталог ] [ местный файл ] | Выдает на экран содержимое удаленного каталога. Если в качестве параметра указано имя местного файла, результат заносится в него. Если имя удаленного каталога не указано, команда выполняется для текущего каталога |
| disconnect | синоним close |
| hash | включает/выключает знак (#). Во включенном состоянии отмечается пересылка каждого блока, что позволяет визуально контролировать процесс обмена |
| macdef macro-name | Определяет макро. Последующие строки запоминаются в качестве текста макро с именем macro-name. Нулевая строка (двойное нажатие клавиши RETURN) завершает ввод текста макро. Можно ввести до 16 макро с суммарным объемом до 4096 символов |
| mdelete [ имена_файлов_на удаленной_ЭВМ ] | удаляет файлы на удаленной ЭВМ |
| open имя-ЭВМ [ port ] | устанавливает связь с указанным |
| prompt | включает/выключает |
| proxy | |
| quit | синоним bye |
| recv | удаленный_файл [ местный_файл ] синоним команды get |
| remotehelp [ имя_команды ] | Запрашивает справочную информацию от удаленного |
| runique | Включает режим записи файлов в вашу ЭВМ только с уникальными именами. Если файл с таким именем уже существует, то новому файлу будет присвоено имя с расширением .1, если и такое имя уже есть, то с расширением .2. Это может продолжаться вплоть до расширения .99, после чего будет выдано сообщение об ошибке. Впрочем, такую ситуацию вообразить крайне трудно, если вы сами не наплодили файлов с цифровыми расширениями. Для команды mget это крайне полезная функция, которая застрахует вас от стирания из текущего каталога ваших файлов, которые имеют имена, совпадающие с именами на удаленном сервере. По умолчанию runique не включено |
| send local-file [ remote-file ] | Синоним команды put |
| status | Отображает текущее состояние |
В депозитариях можно встретить файлы следующих разновидностей (все виды ниже перечисленных файлов пересылаются в режиме binary, а не ASCII) (таблица 1.7).
| Тип файла | Пример записи имени файла | Программа обработки файла |
|---|---|---|
| Архивированный файл | файл.Z | compress, |
| tar-файл | файл.tar | Tar |
| Архивированный tar-файл | файл.tar.Z | tar, compress, |
| файл.tar.gz | Применен архиватор GZIP | |
| файл.uue | ||
| Архивированный |
файл.uue.Z | |
| zip-файл | файл.zip | |
| shar-файл | файл.shar | shar, sh, unshar |
| сжатый shar-файл | файл.shar.Z | shar, sh, unshar, compress, |
При выполнении
| Значение кода-отклика | Описание |
|---|---|
| 1yz | Позитивный предварительный отклик, который означает, что операция начата. До завершения процедуры следует ожидать как минимум еще один отклик |
| 2yz | Сигнал успешного завершения процедуры, говорящий о том, что можно ввести новую команду |
| 3yz | Положительный промежуточный отклик, указывающий на то, что команда воспринята, но для продолжения требуется дополнительная информация |
| 4yz | Негативный отклик, свидетельствующий о том, что команда не воспринята, но можно попробовать ее исполнить еще раз |
| 5yz | Отклик, говорящий о том, что команда не выполнена и не может быть выполнена вообще |
Значение кода "y" в вышеприведенной таблице может принимать значения от 0 до 5. Значения кодов "y" приведены ниже в таблице 1.8a.
| Значение кода-отклика | Описание |
|---|---|
| x0z | Указывает на синтаксическую ошибку; синтаксис верен, но команда не имеет смысла |
| x1z | Указание на необходимость ввода дополнительной информации |
| x2z | Отклик, связанный с управлением каналом связи |
| x3z | Отклик для команд идентификации пользователя и проверки пароля |
| x4z | Функция не определена |
| x5z | Отклик, характеризующий состояние файловой системы |
Далее в тексте встречается выражение "анонимное
ftp> login: anonymous ftp> password: [ваш полный E-mail адрес] ftp> cd <имя_каталога > (смена каталога) ftp> binary (если текст, например, архивирован, в противном случае команду выдавать не нужно) ftp> get <имя_файла> (копирование файла) ftp> quit (уход из процедуры)
Следует иметь в виду, что некоторые анонимные
| Код-отклик | Описание |
|---|---|
| 110 | Комментарий |
| 120 | Функция будет реализована через nnn минут |
| 125 | Канал открыт, обмен данными начат |
| 150 | Статус файла правилен, подготавливается открытие канала |
| 200 | Команда корректна |
| 211 | Системный статус или отклик на справочный запрос |
| 212 | Состояние каталога |
| 213 | Состояние файла |
| 214 | Справочное поясняющее сообщение |
| 220 | Слишком много подключений к |
| 221 | Благополучное завершение по команде quit |
| 225 | Канал сформирован, но информационный обмен отсутствует |
| 226 | Закрытие канала, обмен завершен успешно |
| 230 | Пользователь идентифицирован, продолжайте |
| 250 | Запрос прошел успешно |
| 331 | Имя пользователя корректно, нужен пароль |
| 332 | Для входа в систему необходима аутентификация |
| 421 | Процедура не возможна, канал закрывается |
| 425 | Открытие информационного канала не возможно |
| 426 | Канал закрыт, обмен прерван |
| 450 | Запрошенная функция не реализована, файл не доступен, например, занят |
| 451 | Локальная ошибка, операция прервана |
| 452 | Ошибка при записи файла (не достаточно места) |
| 500 | Синтаксическая ошибка, команда не может быть интерпретирована (возможно, она слишком длинна) |
| 501 | Синтаксическая ошибка (неверный параметр или аргумент) |
| 502 | Команда не используется (нелегальный тип MODE) |
| 503 | Неудачная последовательность команд |
| 504 | Команда не применима для такого параметра |
| 530 | Система не загружена (not logged in) |
| 532 | Необходима аутентификация для запоминания файла |
| 550 | Запрошенная функция не реализована, файл не доступен, например, не найден |
| 552 | Запрошенная операция прервана, недостаточно выделено памяти |
В настоящее время разработаны версии
При работе в Интернет время от времени возникают ситуации, когда нужно определить, работоспособен ли тот или иной канал или узел, а в случае работы с динамическими протоколами маршрутизации — выяснить, по какому из каналов вы в данный момент работаете. Применяется эта процедура и для оценки вероятности потери пакетов в заданных сегментах сети или каналах. Для решения этих задач удобна программа
Для решения поставленной задачи
Команда трассировки маршрута ИТЭФ — сервер научно-исследовательской станции США Мак-Мурдо в Антарктиде (запись в файл route.txt, команда выполнялась в 1994 году):
ping -q mcmurdo-gw.mcmurdo.gov > route.txt
Содержимое файла route.txt будет иметь вид:
| hop 1: | 193.124.224.190 | ??? | имя для GW ИТЭФ пока не придумано |
| hop 2: | 193.124.137.13 | Вперед, в космос | |
| hop 3: | 193.124.137.9 | NPI- |
Через спутник "Радуга" |
| hop 4: | 193.124.137.6 | DESY.Hamburg.DE.Radio- |
пакеты совершили мягкую посадку в Гамбурге, ДЕЗИ |
| hop 5: | 188.1.133.56 | dante.WiN-IP.DFN.DE | |
| hop 6: | 193.172.4.12 | duesseldorf2.empb.net | |
| hop 7: | 193.172.4.8 | amsterdam6.empb.net | |
| hop 8: | 193.172.12.6 | Amsterdam1.dante.net | Пересекаем Атлантический океан |
| hop 9: | 194.41.0.42 | New-York1.dante.net | вступили на землю США |
| hop 10: | 192.103.63.5 | en-0.cnss35.New-York.t3. |
|
| hop 11: | 140.222.32.222 | mf-0.cnss32.New-York.t3. |
|
| hop 12: | 140.222.56.2 | t3-1.cnss56.Washington-DC.t3. |
|
| hop 13: | 140.222.145.1 | t3-0.enss145.t3. |
|
| hop 14: | 192.203.229.243 | SURA2.NSN. |
Снова в космос, |
| hop 15: | 128.161.166.1 | GSFC8.NSN. |
но теперь через американский |
| hop 16: | 128.161.232.1 | GSFC12.NSN. |
Спутник |
| hop 17: | 128.161.1.1 | ARC1NEW.NSN. |
|
| hop 18: | 192.203.230.2 | ARC1.NSN. |
|
| hop 19: | 192.100.12.2 | ARC2.NSN. |
|
| hop 20: | 128.161.115.2 | MCMURDO.NSN. |
Наденьте шапку, мы в Антарктиде! |
| Target | 157.132.100.1 | reached on hop 21 | round-trip time 1370 ms |
Фантастика, мы пересекли туда и обратно Европу, два океана и США с востока на запад, побывали в Антарктиде — и все это менее чем за полторы секунды.
Наибольшее число модификаций имеет BSD-версия
ftp://ftp.uu.net /unix/bsd-sources/sbin/ping.
Сходную информацию позволяет получить и программа
traceroute -n cernvm.cern.ch traceroute to crnvma.cern.ch (128.141.2.4) 30 hops max, 40 byte packets 1 193.124.224.50 3 ms 2 ms 2 ms 2 194.85.112.130 3 ms 3 ms 3 ms 3 194.67.80.5 4 ms 3 ms 3 ms 4 193.124.137.6 534 ms 534 ms 534 ms 5 188.1.56.5 545 ms 545 ms 546 ms 6 193.172.4.12 558 ms (ttl=59!) 549 ms (ttl=59!) 548 ms (ttl=59!) 7 193.172.4.30 580 ms (ttl=58!) 581 ms (ttl=58!) 581 ms (ttl=58!) 8 193.172.24.10 586 ms 585 ms 597 ms 9 192.65.185.1 593 ms 587 ms 598 ms 10 128.141.2.4 628 ms 602 ms 619 ms
При написании программ, использующих протокол ICMP, полезно воспользоваться отладочной опцией
ping -d# 300 ns.itep.ru (версия PCTCP, запрос отклика серверу имен;
число байт, подлежащих выдаче, равно 300)
Dump of outgoing packet
Version = 4 IP header length = 5 Precedence = Routine
Type of Service = Normal
Total length = 284 Protocol = 1 TTL = 64
45 00 01 1C 00 02 00 00 40 01 71 29 C0 94 A6 81 C1 7C E0 23 IP-заголовок
08 00 8D BD E9 03 00 01 ... ICMP-заголовок
host responding, time = 60 ms
Выдачи ради экономии места сильно сокращены. Тексты пакетов начинаются с кодов IP-версии (=4) и длины заголовка (=5), далее следует байт TOS=0, два байта длины пакета (01 1С) и т.д. в соответствии с требованиями IP-протокола.
ping -d 300 ns.itep.ru (команда получения текста пакета-отклика на запрос) host responding, time = 25 ms Dump of incoming packet Version = 4 IP header length = 5 Precedence = Routine Type of service = Normal Total length = 284 Protocol = 1 TTL = 254 45 00 01 1C EE 29 00 00 FE 01 C5 00 C1 7C E0 23 C0 94 A6 81 00 00 93 BD EB 03 00 01 ..............
В принципе, процедуру
Посылаем последовательно по адресу IP(URL) IP-пакеты со значением TTL=1, 2,... и т.д. Если до адресата больше одного шага, соответствующий маршрутизатор, размещенный по пути следования к адресату, уничтожит посланный пакет и вернет ICMP-сообщение: Time Exceeded (тип ICMP-сообщения=11, TTL стало =0), указав при этом IP-адрес узла, где это произошло. Послав запрос типа get_name_by_address для присланного IP, можно получить имя узла, откуда пришло данное уведомление. Отсутствие сообщения Time Exceeded (например, после трех попыток) будет говорить о достижении адресата. Еще лучше для контроля наличия отклика от узла-адресата использовать реализацию
Для данной методики реализации
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.