Главная страница
Навигация по странице:

  • Последовательности символов, используемые совместно с командой send

  • Комбинация клавиш Достигаемый результат Ctrl+E

  • Ctrl+] Escape Ctrl+

  • Ctrl+U Kill Ctrl+\

  • Методические указания. +Му к практ.работам всс. Методические указания к практическим работам по дисциплине Вычислительные системы и сети Специальность 5В070200 Автоматизация и управление


    Скачать 0.98 Mb.
    НазваниеМетодические указания к практическим работам по дисциплине Вычислительные системы и сети Специальность 5В070200 Автоматизация и управление
    АнкорМетодические указания
    Дата21.01.2023
    Размер0.98 Mb.
    Формат файлаdoc
    Имя файла+Му к практ.работам всс.doc
    ТипМетодические указания
    #897134
    страница8 из 10
    1   2   3   4   5   6   7   8   9   10

    Практическая работа№9

    Доступ к удаленному компьютеру по протоколу telnet

    Цель работы: Научиться работе с информацией, расположенной на удаленном компьютере с использованием протокола telnet.

    Указания к работе


    При подключении к telnet-серверам необходимо помнить, что различные операционные системы (например, Windows и UNIX) поддерживают не все стандартные команды telnet. Более того, синтаксис и список параметров доступных команд может отличаться.

    TELNET позволяет пользователю установить TCP-соединение с сервером и затем передавать коды нажатия клавиш так, как если бы работа проводилась на консоли сервера. TELNET (RFC-854, в некоторых реализациях tn) служит для выполнения удаленного доступа к вычислительным ресурсам и базам данных (например, к базам ядерных данных в Вене, Брукхейвене или STN-international в Карлсруэ). Для входа в базу данных или ЭВМ обычно нужна аутентификация (ввод имени-идентификатора пользователя и его слова-пропуска). В некоторых реализациях допускается использование параметров, которые подключают необходимые эмуляторы терминалов.

    TELNET предлагает три услуги:

        1. Определяет сетевой виртуальный терминал (NVT - network virtual terminal), который обеспечивает стандартный интерфейс к удаленной системе.

        2. Включает механизм, который позволяет клиенту и серверу согласовать опции обмена

        3. Обеспечивает симметрию соединения, допуская любой программе (например FTP) выступать в качестве клиента

    Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в кодах ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). На прикладном уровне над TELNET находится либо программа поддержки реального терминала, либо прикладной процесс в обслуживающей машине, к которому осуществляется доступ с терминала. Формат NTV достаточно прост. Для данных используются 7-битовые ASCII коды. 8-битовые же октеты зарезервированы для командных последовательностей.

    Telnet взаимодействует с другой ЭВМ через протокол TELNET. Если команда TELNET вводится без аргументов ЭВМ переходит в командный режим, напечатав приглашение telnet>. В этом режиме она воспринимает и исполняет команды, описанные ниже.

    При вводе TELNET с аргументами программа осуществит связь вашей ЭВМ с удаленным компьютером, имя или адрес которого вы ввели в качестве одного из аргументов.

    После того как TELNET связь установлена, начинаются переговоры об используемых опциях (см. таблицу 4). Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont.

    Далее TELNET переходит в режим ввода. В этом режиме любой введенный текст пересылается удаленной ЭВМ. Ввод может производиться посимвольно или построчно. При посимвольном режиме каждый введенный символ пересылается немедленно, при построчном режиме отклик на каждое нажатие клавиши производится локально, а пересылка выполняется лишь при нажатии клавиши . Некоторые опции требуют дополнительных данных, такая информация может быть получена с помощью субопций (RFC-1091). При этом клиент посылает трехбайтовую последовательность IAC WILL 24, где 24 - код-идентификатор терминала. Получатель может откликнуться последовательностью IAC DO 24, если все в порядке. Сервер в свою очередь посылает последовательность IAC SB 24 1 IAC SE, запрашивая тип терминала клиента. Здесь код 24 означает, что это субопция для опции типа терминала, а следующая 1 является командой "пришлите код вашего терминала". Клиент в свою очередь может откликнуться, послав последовательность - IAC SB 24 0 I B M P C IAC SE. Здесь байт 0 имеет значение "мой терминал имеет тип". Список кодов терминалов содержится в RFC-1700.

    Таблица 4

    Коды опций в Telnet

    Код опции в Telnet

    Описание

    Номер 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

    Возврат (logout)

    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

    Когда связь с удаленной ЭВМ уже осуществлена, переход в командный режим может быть выполнен с помощью нажатия '^]' (escape).

    В этом режиме доступны команды:

    open имя_ЭВМ [ порт ]

    open открывает связь с ЭВМ, имя которой указано в обращении. Если номер порта явно не указан, telnet пытается использовать для связи с сервером номер порта по умолчанию. Вместо имени ЭВМ-сервера может использоваться ее IP-адрес.

    display [ аргумент ... ]

    Отображает все, или часть, набора параметров telnet (см. описание команды send).

    close

    Закрывает сессию telnet и возвращает систему в командный режим.

    quit

    Закрывает любую сессию telnet.

    mode type

    Управляет режимом ввода ("построчный" или "посимвольный"). Удаленной машине посылается запрос на переход в соответствующий режим. Если она готова (способна) работать в запрошенном режиме, будет произведено соответствующее переключение.

    status

    Отображает текущий статус telnet. В перечень информации входит имя удаленной ЭВМ и действующий режим обмена.

    ? [ команда ]

    Выдает справочную информацию о команде, название которой приведено в качестве аргумента

    send arguments

    Посылает удаленной ЭВМ один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, ayt, ecel, ga и др.

    escape

    Посылает escape символ (например, `^]').

    SYNCH

    Посылает synch-последовательность. Эта последовательность позволяет аннулировать все, что было до этого напечатано, но еще не считано. Эта последовательность посылается как срочная (важная) TCP-информация (может не сработать, если удаленной системой является 4.2 BSD). Если она не сработала, на терминал будет послан символ "r".

    brk

    Посылает Break-последовательность при нажатии клавиши Break (Pause). (Исчерпывающую информацию об аргументах можно найти в описании используемого программного обеспечения или с помощью команд Help или Man)

    set argument value

    Присваивает любому числу переменных telnet новые значения. Специальное значение "off" выключает функцию, соответствующую данной переменной

    Значения переменных можно узнать с помощью команды display. Такими переменными могут быть: echo, escape, interrupt, quit, flushoutput, erase, kill, eof, echo. Последняя переменная (в исходном состоянии `^E') в построчном режиме осуществляет переключение между локальным эхо на ввод символа (режим по умолчанию) и подавлением эхо, например при вводе пароля. Переменные процедуры telnet представлены в таблице 5.

    Таблица 5

    Переменные telnet

    Название переменной

    Назначение

    Echo

    Определяет, будет ли отображаться на экране то, что вы вводите с клавиатуры. При значении off ввод не отображается, например, при вводе пароля.

    Escape

    Задает символ, который используется в качестве escape. Появление этого символа во входном потоке заставляет его и последующие символы интерпретироваться в ЭВМ, где функционирует процесс telnet, как команда

    Interrupt

    Специфицирует символ прерывания процесса. Ввод его приводит к остановке процесса пользователя, работающего на удаленной ЭВМ.

    Quit

    Специфицирует символ, который используется пользователем на его клавиатуре для выполнения команд brake или attention.

    Flushoutput

    Определяет символ, который служит для прерывания процедуры вывода на удаленной ЭВМ.

    EOF

    Специфицирует символ, который используется для обозначения конца файла на удаленной машине.


    Таблица 6

    Последовательности символов, используемые совместно с командой send

    Последовательность символов

    Назначение

    ?

    Отображает справочную информацию о команде send

    escape

    Посылает символ escape (без прерывания посылки символов для Telnet)

    ip

    Посылает протокольную последовательность telnet. Удаленная машина должна прервать процесс, запущенный для вас.

    ec

    Посылает протокольную EC-последовательность telnet. Удаленная ЭВМ должна стереть последний напечатанный вами символ

    el

    Посылает протокольную EL-последовательность TELNET. Удаленная ЭВМ должна стереть последнюю напечатанную вами строку.

    ao

    Посылает протокольную AO-последовательность TELNET. Удаленная ЭВМ должна направить весь вывод на ваш терминал.

    brk

    Посылает протокольную BRK-последовательность TELNET. Удаленная ЭВМ должна обеспечить отклик.

    ayt

    Посылает протокольную AYT-последовательность TELNET (Are You There). Удаленная ЭВМ должна обеспечить отклик.

    В таблице 7 представлены наименования и коды команд Telnet, которые используются как клиентом, так и сервером в сочетании с префиксным байтом 0xff (IAC - "интерпретировать как команду"). Если нужно послать код данных, равный 255, посылается два байта с кодами 255.

    Таблица 7

    Коды команд TELNET

    Имя субкоманды TELNET

    Код

    Описание

    EOF

    236

    Признак конца файла

    SUSP

    237

    Отложить исполнение текущего процесса

    ABORT

    238

    Абортировать процесс

    EOR

    239

    Конец записи

    NOP

    241

    Никаких действий

    DM(Метка данных)

    242

    Блок данных процедуры SYNCH

    BRK (Остановка)

    243

    brk-символ (break);

    IP(Прерывание процесса)

    244

    IP-функция

    io (Прерывание вывода)

    245

    AO-функция

    AYT (Вы здесь?)

    246

    ayt-функция

    EC (Стереть символ)

    247

    EC-функция

    EL (Стереть строку)

    248

    EL-функция

    GA (Продолжайте)

    249

    GA-функция

    SB

    250

    Начало субопции

    SE

    240

    Завершение согласования параметров (конец субопции)

    Will ("будет")

    251

    Начало исполнения (опционно)

    Won't (не будет)

    252

    Отказ исполнения или продолжения выполнения (опционно)

    Do("исполнить")

    253

    Индицирует запрос, который другая система исполняет (опционно)

    Don't ("Нет")

    254

    Требует, чтобы другая система остановила исполнение (опционно)

    IAC

    255

    Интерпретируется как начало командной последовательности

    Операция прерывание процесса (IP) позволяет прервать, удалить или завершить процесс пользователя (например, выйти из бесконечного цикла).

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

    Запрос "Вы здесь?" (AYT) удобен, когда необходимо выяснить выполняется ли пользовательская задача или нет.

    Операция стереть символ (EC) позволяет пользователю удалить символ из потока данных, применяется для редактирования текста на экране.

    Операция стереть строку (EL) позволяет пользователю при редактировании удалить целую строку.

    Команда "go ahead" (GA, "продолжайте") устанавливает полудуплексный режим передачи данных. Каких-либо воздействий на удаленную ЭВМ обычно не производит. В таблице 8 приведен список комбинаций клавиш, нажатие которых вызывает определенный результат.

    Таблица 8

    Управляющие комбинации клавиш

    Комбинация клавиш

    Достигаемый результат

    Ctrl+E

    Echo

    Ctrl+]

    Escape

    Ctrl+?

    Erase

    Ctrl+O

    flushoutput

    Ctrl+C

    Interrupt (прерывание исполнения программы)

    Ctrl+U

    Kill

    Ctrl+\

    Quit

    Ctrl+D

    EOF


    Блок данных процедуры TELNET содержит три байта и называется командой. Формат этого блока показан на рисунке 9.


    Рисунок 9 - Формат блока данных Telnet

    Первый байт в соответствии с таблицей содержит 8 единиц, далее следует байт команды. Третий октет служит для размещения кода опции, он может и отсутствовать.

    Рассмотрим несколько примеров этих команд. Допустим, вы хотите, чтобы обмен данными производился в виде 8-битовых посылок. Для реализации вашего пожелания достаточно выдать команду:

    IAC WILL TRANSMIT-BINARY, которая в цифровых кодах выглядит как - (255 251 0).

    Для прекращения этого (двоичного) режима передачи нужно выдать команду:

    IAC DON'T TRANSMIT-BINARY (255 254 0).

    Субкоманды Telnet позволяют управлять откликом при работе с клавиатурой. Обычно отклик-эхо присылается удаленной ЭВМ, реже формируется локально. Для включения отклика можно выдать команду: IAC WILL ECHO (255 251 1) (часто это реализовано по умолчанию). Далее можете поупражняться самостоятельно и проверить какие команды и их опции доступны в используемом вами программном продукте.

    При работе с Telnet рекомендуется сначала ознакомиться с конкретными возможностями команды с помощью описания (или F10/?). Это позволит вам, например, спасать результаты поиска в файле с указанным вами именем и т.д. Например, для PCTCP такая команда выдаст на экран:

    Telnet with VT220 and 3270 emulation, escape character is alt-F10 or F10
    Copyright (c) 1989-1992 by FTP Software, Inc. All rights reserved.

    ?

    display this help message

    a

    sends Telnet AYT request

    ^h

    debugging command help

    b

    send Telnet Interrupt Process

    o

    write receive data to output file

    z

    send Telnet Abort output

    i

    read keystrokes from an input file

    t

    send Telnet Break

    c

    close connection gracefully

    !

    escape to command interpret

    q/Q

    quit current/all telnet connections

    I

    show local internet address

    F

    toggle build-in FTP-server on/off

    U

    turn status line on

    W

    toggle FTP server write-protect mode

    u

    turn status line off

    0-9

    switch to connection #

    s

    Enable pop-up TSR with hot-key

    p

    Select code page remapping

    S

    Toggle screen-saver key-passing

    -------------------------- VT220 emulator commands ------------------------------

    R

    Enter key send CR

    l

    local echo mode

    N

    Enter key send newline (CRLF)

    r

    remote echo mode

    E

    send characters as typed

    w

    turn end-of-line wrap on

    E

    send line when ENTER is typed

    d

    turn end-of-line wrap off

    B

    <-key sends BS; CTL_<-key sends DEL




    set emulator mode (VT52|100|220)

    D

    <- key sends DEL; CTL_<-key sends BS







    ---------------------------- 3270 emulator commands ----------------------------

    y

    set Yale Null Processing off

    Y

    set Yale Null Processing on

    [Press SPACE to return to session, or enter another command (? for Help]

    Многие telnet-клиенты позволяют также указывать явно номер порта, через который должна быть установлена связь. По умолчанию это порт 23. Обычный пользователь не интересуется, через какой порт он работает. Но иногда желательно реализовывать telnet через разные порты системы, обеспечивающие различные услуги, это бывает полезно и с отладочными целями. Используя команду:

    telnet XXXXXX.domain <номер порта>

    можно осуществить связь через порт с заданным номером с узлом XXXXXX.domain. Многие библиотеки используют метод портов для обеспечения доступа к своим ресурсам внешних Inernet-пользователей.

    Задания к работе


    1. Ознакомиться с синтаксисом и параметрами команды telnet. Для этого необходимо запустить ее в командной строке без параметров и в интерактивном режиме ввести символ ? или набрать help. На экран будут выведены все доступные команды и их краткое описание.

    2. Подключиться к серверу fileserver.eiti.kz .

    3. Просмотреть список каталогов на одном из дисков подключенного сервера (командой dir в интерактивном режиме telnet). Перейти в любой каталог и, выполнив команду netstat, перенаправить результаты ее работы в текстовый файл. Закрыть соединение.

    4. Авторизоваться на сервере с помощью команд USER и PASS (разрешен анонимный доступ: пользователь - anonymous, пароль - произвольный e-mail адрес). Используя команду PWD определить, в каком каталоге на удаленной машине вы оказались после подключения?

    5. Получить список каталогов удаленного сервера (команда LIST). Перейти в каталог temp (команда CWD). Создать в нем новый каталог. Получить информацию о статусе созданного каталога (команда STAT). Какие права установлены для него по умолчанию?

    6. Составить отчет о выполнении работы.



    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта