Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические занятия4

.doc
Скачиваний:
5
Добавлен:
09.06.2015
Размер:
121.34 Кб
Скачать

Практические занятия

Упражнение №1 «Исследование специальных сетевых протоколов»

Цель занятия: Исследование специальных сетевых протоколов.

  1. Инструктаж по требованиям выполнения практических занятий (не все специальные сетевые протоколы могут работать).

  2. Исследование специального сетевого протокола finger.

  3. Исследование специального сетевого протокола telnet.

  4. Исследование специального сетевого протокола ftp.

  • Для исследования специального сетевого протокола finger в командной строке ввести сетевую команду finger [ опции ] имя.

Finger является протоколом (RFC-1288), который служит для получения информации о пользователях узлов Internet. Протокол использует TCP-порт 79. Команда Finger выводит данные о списке пользователей, о конкретном пользователе (дата последнего сеанса входа в систему и т.д.), о списке загруженных задач, о типах интерфейсов (например, терминалов). Данный протокол обеспечивает интерфейс для удаленной информационной программы пользователя (RUIP – Remote User Information Program). Любые пересылаемые данные должны иметь формат ASCII, не иметь контроля по четности и каждая строка должна завершаться последовательностью CRLF. По умолчанию finger отображает информацию обо всех активно работающих пользователях, включая имя-идентификатор, полное имя, имя терминала и т.д. В качестве имени может использоваться имя-идентификатор, фамилия или имя пользователя.

Синтаксис:

finger [ опции ] имя...

Параметры:

-l

Запрос подробной информации;

-s

Запрос краткой информации;

-q

Запрос имени-идентификатора, имени терминала и времени входа в систему;

-i

Запрос, аналогичный -q, но выдается и время пребывания терминала в пассивном состоянии;

-w

Блокирует печать полного имени для –s;

-h

Блокирует печать файла .project в режиме –l;

-p

Блокирует печать файла .plan в режиме –l.

Список работающих пользователей хранится в файле /etc/utmp, полный список имен пользователей размещен в файле /etc/passwd, времена и даты входа в систему записаны в файле /var/adm/lastlog, имена и расположение терминалов можно найти в файле /etc/ttytab, для записи информации о планах и проектах используются файлы ~/.plan и ~/.project, соответственно.

В общем случае при обращении к finger может использоваться символьный Internet-адрес: Finger <имя_адресата>@Internet_адрес. Протокол finger имеет и некоторые необычные возможности. Опция выдачи содержимого файла пользователя и исполнения программы пользователя расширяет возможности finger почти беспредельно. Так, выдав команду finger help@dir.su.oz.au (Австралия) можно получить:

[extra.ucc.su.OZ.AU] **** This is an experimental service offered free of charge by **** **** The University Computing Service, University of Sydney. **** **** Please mail support@is.su.edu.au if you have any queries. ****

Finger offers these additional services (Finger предлагает некоторые дополнительные возможности):

Access to a database facility (доступ к базе данных);

Aarnet resources available on AARNet (ресурсы AARNet);

Buildings buildings and their codes at Sydney Uni (коды зданий сиднейского университета);

Archie query anonymous FTP databases (анонимный поиск по FTP-депозитариям);

Internet resources available on the Internet (ресурсы Internet);

Library library access available via AARNet (доступ к библиотечным базам данных);

Newsgroups find NetNews newsgroups (поиск новостей);

Phone The Sydney Uni Phone Book (телефонная книга Сиднейского университета);

Postcodes Australian Postcodes (австралийские почтовые коды);

Shop prices at the UCS shop (цены в университетском магазине).

Другой пример использования: finger %@dir.su.edu.au . В качестве выражения можно использовать стандартное "egrep"-выражение и можно записать:

Finger help@dir.su.edu.au this help (справочный материал)

Finger help%@dir.su.edu.au

Finger copyright@dir.su.edu.au

Finger egrep@dir.su.edu.au manual on egrep regular expressions (справочные материалы по допустимым egrep-выражениям).

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

Finger 2%AArnet@dir.su.edu.au (запрос содержимого второй раздела базы данных aarnet), получим:

[extra.ucc.su.oz.au] Index for Chapter 2 (список библиотек): Australian Defense Force Academy Library The Australian National University Library Curtin University Of Technology T.L. Robertson Library Deakin University Library Griffith University, Division of Information Services La Trobe University Library Macquarie University Library Murdoch University Library R.M.I.T. Library - MATLAS Library Catalogue. Swinburne Library The University of Adelaide, Barr Smith Library The University of Melbourne Baillieu Library The University of New England Library The University of New South Wales The University of Newcastle Libraries The University of Queensland Libraries The University of Western Australia, Reid Library The University of Wollongong Library University College of Central Queensland Library University of South Australia Library Systems Dept Victoria University of Wellington

Таким образом, с помощью finger можно организовать доступ к базам данных. Однако finger не работает для узлов, не имеющих IP-адресов (электронный почтовый адрес).

  • Для исследования специального сетевого протокола telnet в командной строке ввести сетевую команду telnet имя_компьютера.

Telnet позволяет пользователю установить TCP-соединение с сервером и затем передавать коды нажатия клавиш так, как если бы работа проводилась на консоли сервера. Протокол (RFC-854) служит для выполнения удаленного доступа к вычислительным ресурсам и базам. Для входа в базы данных или удаленные компьютеры нужна аутентификация (ввод имени-идентификатора пользователя и его слова-пропуска). В некоторых случаях необходимо использование параметров, которые подключают необходимые эмуляторы терминалов. Протокол telnet рассматривает все удаленные компьютеры как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в кодах ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). На прикладном уровне над telnet находится либо программа поддержки реального терминала, либо прикладной процесс в обслуживающей машине, к которому осуществляется доступ с терминала.

Telnet взаимодействует с другим компьютером через протокол telnet. Если команда telnet вводится без аргументов, то компьютер переходит в командный режим, напечатав приглашение telnet>. В этом режиме он воспринимает и исполняет команды. При вводе команды telnet с аргументами программа осуществит связь с удаленным компьютером, имя или адрес которого введены в качестве одного из аргументов. После того как telnet связь установлена, начинаются переговоры об используемых опциях. Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont.

Имя субкоманды 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

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

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

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

display [ аргумент ... ] – отображает все, или часть, набора параметров telnet ;

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

quit – закрывает любую сессию telnet;

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

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

? [ команда ] – выдает справочную информацию о команде, название которой приведено в качестве аргумента;

send arguments – посылает удаленному компьютеру один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, ayt, ecel, ga и другие;

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

Назначение

?

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

escape

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

ip

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

ec

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

el

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

ao

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

brk

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

ayt

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

escape – посылает escape символ;

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

brk – посылает Break-последовательность при нажатии клавиши Break (Pause);

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

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

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

Назначение

Echo

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

Escape

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

Interrupt

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

Quit

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

Flushoutput

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

EOF

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

При работе с telnet рекомендуется сначала ознакомиться с конкретными возможностями команды с помощью описания (или F10/?). Это позволит например, отправить результаты поиска в файл с указанным именем. Многие telnet-клиенты требуют указывать явно номер порта, через который должна быть установлена связь. По умолчанию это порт 23. Обычный пользователь не интересуется, через какой порт он работает. Но иногда желательно реализовывать telnet через разные порты системы, обеспечивающие различные услуги, это бывает полезно и с отладочными целями. Используя команду: telnet XXXXXX.domain <номер порта> можно осуществить связь через порт с заданным номером с узлом XXXXXX.domain. Многие библиотеки используют метод портов для обеспечения доступа к своим ресурсам внешних Inernet-пользователей.

Примеры и адреса

CAMBRIDGE UNIVERSITY LIBRARY ON-LINE CATALOGUE SYSTEM: To finish searching type END at any numbered menu prompt. Type option (1,2,...) and press RETURN: X29CATS1 logged out at 15-NOV-1993 18:11:53.72 +++- Clear requested +++- bytes/pkts in 2549/80 out 102/16 Connection closed by Foreign Host Другие ресурсы, доступные через TELNET ndlc.occ.uky.edu или 128.163.38.10 (Login: nolc) База данных дистанционного образования acsvax.open.ac.uk или 137.108.48.24 (Username: ICDL, Acconut Code: usa Password: aaa). Open University (UK) newton.dep.anl.gov или 130.292.92.50 (Login: bbs) BBS для тех, кто преподает/изучает естественные науки, математику martini.eecs.umich.edu 3000 или 141.212.99.9 3000 - информация о городах США, население, географическое положение и др. locis.loc.gov или 140.147.254.3 marvel.loc.gov или 140.147.2.69 библиотека конгресса США e-math.ams.com или 130.44.1.100 (Login/Password: e-math) американское матем. общество, BBS, програмное обеспечение, обзоры. gemm.com база данных о CD и музыкальных клубах enews.com (Login: enews) электронные журналы (выберите Elec.Serials) rusinfo.rus.uni-stuttgart.de или 129.69.1.12 (Login: info) Предлагает: журналы, UNIX-материалы, книги и др. culine.colorado.edu 859 /128.138.129.170 859 Расписание NBA culine.colorado.edu 860 /128.138.129.170 860 Расписание NHA Archie (поиск нужных файлов по всем анонимным FTP серверам) elnet archie.sura.net or 128.167.254.194 (Login: archie) archie.unl.edu or 129.93.1.14 archie.ans.net or 147.225.1.10 archie.rutgers.edu or 128.6.18.15 Gopher telnet consultant.micro.umn.edu или 134.84.132.4 infoslug.ucsc.edu или 128.114.143.25 [INFOSLUG] infopath.ucsd.edu (Login: infopath) Netfind User Lookup (поиск адреса, места работы пользователя и т.п.) telnet bruno.cs.colorado.edu или 128.138.243.150 (Login: netfind) cobber.cord.edu или 138.129.1.32 pascal.sjsu.edu или 130.65.86.15 mudhoney.micro.umn.edu или 134.84.132.7 redmont.cis.uab.edu или 138.26.64.4 ds.internic.net или 198.49.45.10 netfind.oc.com или 192.82.215.88 archie.au или 139.130.4.6 netfind.anu.edu.au или 150.203.2.14 netfind.if.usp.br или 143.107.249.132 netfind.ee.mcgill.ca или 132.206.62.30 malloco.ing.puc.cl или 146.155.1.43 netfind.vslib.cz или 147.230.16.1 nic.nm.kr или 143.248.1.100 lincoln.technet.sg или 192.169.33.6 nic.uakom.sk или 192.108.131.12 monolith.cc.ic.ac.uk или 155.198.5.3 lust.mrrl.lut.ac.uk или 158.125.220.7 dino.conicit.ve или 150.188.1.10 Whois Services (поиск по ключевому слову адреса в Internet) telnet rs.internic.net или 198.41.0.5 (Login: whois) info.cnri.reston.va.us 185 (Knowbot Info Serv.) garam.kreonet.re.kr или 134.75.30.11 (Login: nic) paradise.ulcc.ac.uk или 128.86.8.56 (Login: dua) WAIStation (Wide Area Information Service) telnet quake.think.com или telnet 192.31.181.1 (Login: swais) wais.com или telnet 192.216.46.98 swais.cwis.uci.edu или 128.200.15.2 sunsite.unc.edu или telnet 198.86.40.81 info.funet.fi или 128.214.6.100 (Login: info) wais.nis.garr.it или 192.12.192.10 (Login: wais)

  • Для исследования специального сетевого протокола ftp в командной строке ввести сетевую команду ftp имя_компьютера.

Протокол ftp формировался многие годы. Также как и в случае telnet необходима идентификация, но многие депозитарии допускают анонимный вход (имя пользователя ANONYMOUS), который не требует слова пропуска (пароля) или допускает ввод вашего почтового адреса вместо него. Работа FTP на пользовательском уровне содержит несколько этапов: идентификация (ввод имени-идентификатора и пароля); выбор каталога; определение режима обмена (поблочный, поточный, ascii или двоичный); выполнение команд обмена (get, mget, dir, mdel, mput или put); завершение процедуры (quit или close). Протокол ftp поддерживает две логические связи между компьютерами. Одна связь служит для удаленного доступа и использует протокол telnet. Другая связь предназначена для обмена данными. Сервер производит операцию passive open для порта 21 и ждет соединения с клиентом. Клиент осуществляет операцию active open для порта 21. Канал остается активным до завершения процедуры ftp. В этом случае IP-сервис обеспечивает минимум задержки, так как используется для ручного ввода команд. Канал для передачи данных (TCP) формируется каждый раз для пересылки файлов. Канал открывается перед началом пересылки и закрывается по коду end_of_file (конец файла). Таким образом, обеспечивается максимальная пропускная способность.

Синтаксис:

ftp [ -опции ] [ имя_компьютера].

Параметры:

[ имя_компьютера] – имя компьютера содержащего депозитарий.

Допустимы следующие опции (модификаторы) команды:

-d

Включение отладочного режима;

-g

Блокировка группового исполнения команд;

-i

Выключение интерактивного приглашения при множественной пересылке файлов;

-v

Отображает все отклики удаленного сервера и статистику обмена; этот режим работает обычно по умолчанию.

Разделяют внутренний набор команд FTP, которыми обмениваются клиент и сервер по командному каналу, и набор команд доступный пользователю. Служебные команды содержат три или четыре заглавные буквы. Эти наборы команд перекрываются лишь частично. Служебные команды унифицированы, пользовательский же набор команд может варьироваться от реализации к реализации. Если выдать команду FTP без аргументов, система обычно откликается приглашением FTP> и вы можете выполнить некоторые из приведенных ниже команд (весь набор становится доступным только после идентификации).

Субкоманды FTP

Описание

ABOR

Прерывание исполнения предыдущей FTP-команды и связанного с ней обмена

ACCT<SP> <account-information>

Ввод идентификатора пользователя (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

Уход из FTP

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;

lcd

Изменить локальный каталог (на вашей ЭВМ);

!

Выйти временно из FTP и уйти в Shell (UNIX)

! команда

Исполнить команду Shell (UNIX)

close

Прервать связь с удаленным сервером, оставаясь в FTP

open [имя_ЭВМ]

Установить связь с указанным удаленным сервером

dir

Выдать содержимое удаленного каталога

В рамках процедуры FTP доступны следующие команды:

! [ команда ] – исполняется команда интерпретатора shell компьютера (UNIX). Если имя команды явно не введено, система переходит в интерактивный режим shell;

$ имя-макро [ аргументы ] – выполняется макро, имя которого введено, аргументы используются этим макро;

account [ пароль ] - позволяет ввести пароль, необходимый для доступа в удаленный сервер;

append имя_местного_файла [ имя_удаленного_файла ]- добавить местный файл к файлу на удаленном сервере;

bye – завершает FTP-сессию;

case – переключает регистр символов, которыми записаны имена файлов на удаленной ЭВМ, в процессе выполнения команды MGET. Если case включен (по умолчанию выключен), все прописные буквы в именах файлов на удаленной ЭВМ, меняются при переносе в вашу ЭВМ на строчные;

close – завершает FTP-сессию и возвращает систему в интерактивный командный режим. Все описанные ранее макро стираются;

debug [ debug-value ] – включает/выключает режим отладки. Значение debug-value определяет отладочный уровень. Если отладка включена, FTP отображает на экране каждую команду, посылаемую удаленной ЭВМ. Эта информация помечается символом '-->';

di[удаленный каталог ] [ местный файл ] – выдает на экран содержимое удаленного каталога. Если в качестве параметра указано имя местного файла, результат заносится в него. Если имя удаленного каталога не указано, команда выполняется для текущего каталога;

disconnect – синоним close;

hash – включает/выключает знак (#). Во включенном состоянии отмечается пересылка каждого блока, что позволяет визуально контролировать процесс обмена;

macdef macro-name – определяет макро. Последующие строки запоминаются в качестве текста макро с именем macro-name. Нулевая строка (двойное нажатие клавиши RETURN) завершает ввод текста макро. Можно ввести до 16 макро с суммарным объемом до 4096 символов;

mdelete [ имена_файлов_на удаленной_ЭВМ ] – удаляет файлы на удаленной ЭВМ;

open имя-ЭВМ [ port ] – устанавливает связь с указанным FTP-сервером (ЭВМ) через специфицированный порт;