Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_lab_OSUNIX_2006-ukr.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
759.81 Кб
Скачать

5 Мережні протоколи tcp/ip. Протокол telnet та протокол обміну файлами ftp

5.1 Мета роботи

Вивчити можливості застосування протоколів telnet та ftp для отримання віддалених ресурсів та обміну файлами у мережі.

5.2 Підготовка до роботи

Перед лабораторною роботою слід повторити матеріал за курсом лекцій та рекомендованою літературою [1,2,3,4].

5.3 Методичні вказівки до виконання роботи

Операційна система UNIX використовує кілька протоколів. Найбільш вживаними є telnet та ftp. За допомогою них можна отримати як ресурси будь-якої доступної мережної машини, так і обмінятися файлами між різними обчислювальними платформами. Тобто це є базовий інструмент реалізації мережних рішень різного рівня.

5.3.1 Використання віртуальних терміналів

Звернувшись до терміну «віртуальний термінал» необхідно розуміти, що це термінал, який немає фізичного з’єднання з віддаленою машиною. Тобто, це означає, що програмне забезпечення на вашій та віддаленій машині встановлює фізичні зв’язки таким чином, що ваш термінал діє як термінал віддаленої машини.

За допомогою команди telnet користувач має змогу встановити зв’язок з віддаленою машиною та використати її ресурси. Для цього він повинен виконати команду у такий спосіб:

telnet

або

telnet 10.12.87.60

або

telnet user01

Якщо у першому випадку користувач тільки ініціював роботу протоколу, то у другому та третьому випадку – вказав з якою машиною потрібно встановити зв’язок. У другому випадку це ip потрібної машини, а у третьому – система звертається до файла /etc/hosts, для встановлення ip адреса машини за синонімом, що застосували у команді.

5.3.1.1 Командний режим telnet

Розглянемо більш детально кожен варіант застосування команди.

Виконавши команду telnet без використання параметрів, користувач ініціює командний режим роботи, тобто команда telnet знаходиться у режимі очікування з’єднання з віддаленою машиною або отримання іншої команди протоколу. Розглянемо найбільш вживані команди:

open

Встановлює зв’язок з віддаленою машиною. Як параметр використає ip або синонім віддаленої машини

close

Розриває встановлений зв’язок з віддаленою машиною та встановлює командний режим роботи telnet

quit

Розриває встановлений зв’язок з віддаленою машиною та завершує роботу команди telnet

z

Затримує роботу telnet для контролю

line

Віддалена машина запитує дозвіл на перехід у режим порядкового читання

characte

Віддалена машина запитує дозвіл на перехід у режим посимвольного читання

escape

Ця команда надсилає спеціальний символ до telnet

status

Відбиває стан зв’язку з віддаленою машиною та поточні опції керування

?

Надання допомоги з використання команд

При використанні команд слід пам’ятати, що коли команда повинна мати опції, а вони не були введені, то з’являється діалог, у якому користувач повинен ввести потрібну інформацію.

5.3.1.2 Використання команди telnet з параметрами

У разі використання telnet з параметрами, протокол намагається встановити зв’язок з віддаленою машиною, ip-адрес якої заданий як параметр команди telnet. У випадку, коли віддалена машина недосяжна, то формується повідомлення і виконання команди припиняється. Якщо замість ip-адреси застосовується синонім, система сама встановлює ip-адрес, виходячи з інформації файла /etc/hosts.

5.3.2 Передача файлів

Команда ftp надає можливість виконати обмін файлами між машиною користувача та іншими машинами глобальної мережі. За допомогою цього протоколу є можливість маніпулювати файлами та каталогами як на машині користувача так і на машинах мережі, якщо є доступ до їх файлової системи. Ця команда має розгалужений список внутрішніх команд, що забезпечують такі можливості.

5.3.2.1 Ініціація роботи протоколу

Виклик команди ftp може бути:

- виклик команди ftp без параметрів:

ftp

- виклик команди ftp з ip-адресою мережної машини:

ftp 10.12.87.60

- виклик команди ftp з синонімом ip-адреси мережної машини:

ftp user01

Виклик команди ftp аналогічний виклику команди telnet.

5.3.2.2 Команди ftp

Коли на екрані буде запрошення ftp, користувач має можливість виконати одну з наведених в подальшому команд. У відповідності від того який режим роботи був ініційований, то користувач може отримувати додаткові повідомлення. Крім того, слід зважити на те, що протокол ftp дозволяє введення не повного найменування команди, а достатньої кількості символів, з найменування команди, що однозначно ідентифікують ім’я команди.

!

Ця команда затримує ftp та викликає командну мову (shell) на локальній машині. Будь-які символи після знаку оклику сприймаються та виконуються як shell команди. Потім можна повернутися до ftp з shell. Усі ftp-опції та зв’язані віддалені машини повертаються у той же стан, який був до появлення цієї команди. Якщо команда shell надрукована у тому же рядку, де і !, то виконується тільки ця команда. Після виконання команди програма ftp повертається до командного режиму.

append

Команда append примушує ftp додавати зміст локального файла до кінця файла віддаленої машини, з якою з’єднані на даний час. Коли викликають цю команду, то є змога вказати до якого файла потрібно додати, наприклад:

ftp> append <імя локального файла> <імя файла віддаленої машини>

В іншому випадку можна використовувати тільки ім’я команди ftp, а потім отримати запит про ім’я файлів, наприклад:

ftp> append

(local-file) <імя локального файла>

(remote-file) <імя файла віддаленої машини>

Цю команду можна використовувати тільки з тими машинами, що використовують UNIX систему або систему, яка сумісна з UNIX.

ascii

Ця команда примушує ftp перетворювати файли у ASCII код.

bell

Ця команда призводить до того, що на вашому терміналі з’явиться сигнал після завершення передачі кожного файла. Для зупинки дії команди потрібно ще раз увести цю команду ftp.

binary

Ця команда примушує ftp передавати файл у двійковому коді.

bye

Ця команда зачиняє усі відкриті зв’язки та виконує вихід з ftp.

cd

Ця команда виконує заміну поточної директорії, на віддаленій машині, на нову. Можна вказати нове ім’я директорії, коли викликають команду як у наведеному прикладі:

ftp > cd /usr/bin

Коли викликають команду cd ftp без аргументів, то можна отримати запит машини на введення імені директорії або буде використане ім’я домашньої директорії. Це залежить від варіанта реалізації команди cd ftp.

close

Ця команда зачиняє усі відкриті зв’язки.

debug

Ця команда включає або виключає багатослівний режим. Коли режим включається, то про це інформує відповідне повідомлення на терміналі. При виключенні режиму – повідомлень немає.

delete

Ця команда вилучає файл на віддаленій машині, до якої були підключені зараз. Можна вилучити файл на віддаленій машині за допомогою такого формату команди ftp:

ftp> delete <імя файла, який треба вилучити>

Коли викликають команду delete без аргументів, то машина запитує ім’я файла, який потрібно вилучити.

dir

Ця команда видасть детальний список директорії на віддаленій машині, до якої ви підключені.(Порівняєте з опцією ls, наведеної нижче). Ви можете задати ім'я директорії, яку потрібно роздрукувати, при виклику команди ftp. Наприклад:

ftp> dir /usr/bin

Якщо ім'я директорії не вказано, то буде роздрукована поточна директорія на віддаленій машині. Можна спонукати ftp, занести результати виконання команди у файл, перше ніж він з'явиться на екрані. Це робиться у такий спосіб:

ftp> dir /usr/bin printfile

Потрібно тільки вказати ім'я директорії до імені вихідного файла (тут printfile). Таким чином, можна надрукувати зміст поточної директорії у файлі, що називається printfile, виконавши таку команду:

ftp> dir . printfile

де "." означає поточну директорію.

form

Ця команда виводить на екран формат файла, що використовується. Звичайно підтримується недрукований формат.

get

Ця команда копіює файл з віддаленої машини, до якої в цей час приєднані. Цей файл копіюється на локальну машину. Коли викликається ця команда, потрібно вказати ім'я файла на віддаленій машині та ім'я файла на локальній машині. Наприклад:

ftp> get <ім'я файла на віддаленій машині> <ім'я файла на локальній машині>

Якщо просто вказати ім'я файла на віддаленій машині, який потрібно скопіювати, то файл на локальній машині матиме те саме ім'я. Наприклад:

ftp> get <ім'я файла на віддаленій машині>

Можна виконати команду ftp get без аргументів. Тоді програма ftp запитає про ім'я файла, наприклад:

ftp> get

remote-file) <ім'я файла на віддаленій машині>

local-file) <ім'я файла на локальній машині>

glob

Ця команда змушує ftp забороняти розширення імен файлів UNIX, таке універсальне, як '*'. Ця команда служить і для заборони й для дозволу розширення в такий спосіб що, якщо задати її повторно, то розширення знову дозволене. Після дозволу розширення ftp до всіх імен файлів додасть розширення при виведенні списку файлів.

hash

Ця команда спонукає ftp видавати на екрані символ '# ' після кожного блоку даних, що посилається на віддалену машину. Розмір блоків даних може бути різним, залежно від версії програмного забезпечення. Для того, щоб побачити поточне значення, з командою ftp використайте багатослівний режим. Ця команда включає й виключає видачу символу '#' на екран її при повторному наборі.

help

Ця команда видає на екран інформацію про роботу ftp. Якщо після help задати ім'я команди, то з'явиться інформація про цю команду. Якщо набрати просто help, то з'явиться інформація про всі команди ftp.

lcd

Ця команда змінює поточну директорію, використовуваний ftp на вашій машині. Ви можете задати ім'я директорії, яка вам потрібна для роботи, наприклад:

ftp> lcd /ysr/deb

Якщо ви не задали ім'я директорії, то використовуватиметься ваша домашня директорія.

ls

Ця команда роздруковує абревіатурний список змісту директорії віддаленої машини, з якою ви пов'язані в цей момент. Ви можете задати ім'я директорії, яку ви хочете роздрукувати. Наприклад:

ftp> ls /usr/bin

Якщо ви не задали ім'я, буде роздрукована поточна директорія. Можна задати, щоб результати виконання команди були поміщені у файл до появи їх на дисплеї. Це виконується ftp, якщо вказати ім'я файла на вашій машині, куди необхідно помістити лістинг директорії, наприклад:

ftp> ls /usr/bin printfile

Ім'я директорії потрібно задати до друку файла (тут printfile). Наприклад, якщо ви хочете роздрукувати поточні директорії у файл із ім'ям printfile:

ftp> ls . printfile

де "." ставиться, щоб підкреслити, що директорія поточна.

mdelete

Ця команда вилучає файли зі списку, на віддаленій машині, з якою ви позв'язані в цей момент. Ви можете задати імена файлів для вилучення під час виклику команди. Наприклад:

ftp> mdelete ім'я 1файла вилученої машини, ім'я 2файла...

У протилежному випадку ви можете просто використати ім'я команди. Програма ftp запросить у вас ім'я:

ftp> mdelete

(remote-files) ім'я 1файла, 2файла...

mdir

За цією командою видається список-лістинг директорії віддаленої машини й результат міститься у файлі вашої машини. Ви можете задати список файлів вилученої машини й ім'я файла вашої машини, куди поміститься результат виконання команди. Наприклад:

ftp> mdir ім'я 1файла вилученої машини... printfile

(Зазначте, що останнє ім'я – це ім'я файла вашої машини printfile). Можна просто використати ім'я команди. Тоді програма ftp запросить у вас ім'я файлів, наприклад:

ftp> mdir

(remote-files) ім'я 1файла вилученої машини...printfile

local-file printfile?y

mget

Ця команда копіювання одного або більше файлів з віддаленої машини, до якої ви підключені в цей момент, на вашу машину. Файли після копіювання матимуть такі самі імена. Ви можете вказати список файлів для копіювання:

ftp> mget ім'я 1файла вилученої машини, ім'я 2файла...

Якщо ви не задали імена файлів під час виклику команди, програма ftp запросить вас про них:

ftp> mget

(remote-files) ім'я 1файла вилученої машини, ім'я 2файла ...

mkdir

Ця команда створює директорію на віддаленій машині, до якої ви в цей момент підключаєтеся. Ви можете задати ім'я директорії під час виклику команди, наприклад:

ftp> mkdir /u/mydir

Якщо ви не задали ім'я, ftp запросить вас про нього, наприклад:

ftp> mkdir

directory-name) ім'я директорії

mls

Ця команда отримує список групи файлів поточної директорії на віддаленій машині та поміщає результат у файл на вашій машині. Ви можете задати список файлів віддаленої машини й файл вашої машини, куди помістити результат під час виклику команди, наприклад:

ftp> mls ім'я 1файла вилученої машини ...printfile

Ви можете не вказувати імена при виклику команди, і тоді програма запросить вас про них:

ftp> mls

(remote-files) ім'я 1файла вилученої машини...printfile

local-file printfile?y

mput

Ця команда копіює один або більше файлів з вашої машини на віддалену машину, з якою ви пов'язані в цей момент. На віддаленій машині файли матимуть такі самі імена. Ви можете задати список файлів під час виклику команди, наприклад:

ftp> mput 1файл вашої машини, 2файл вашої машини...

Якщо ви не вказали імена, програма ftp вас про це запросить:

ftp> mput

(local-files) ім'я 1файла вашої машини, ім'я 2файла...

nmap

Використайте цю команду для установки й скасування механізму перетворення імен файлів. Ця команда корисна при зв'язку з UNIX несумісними машинами, у яких використовується інший спосіб іменування файлів. Перейменовування файлів локальної машини виконується за допомогою команд get і mget, а віддаленої машини за допомогою команд put і mput. Команда mput комплексна.

ntrans

Використайте цю команду для включення й вимикання механізму трансляції символів імені файла. Ця команда корисна при зв'язку з UNIX несумісною віддаленою машиною, де застосовується інший спосіб іменування файлів. Трансляція імен файлів локальної машини виконується за допомогою команд get і mget, а віддаленої машини за допомогою команд put і mput. Команда mtrans комплексна.

open

Ця команда встановлює зв'язок з віддаленою машиною, що перед-бачається для передачі файлів. Під час виклику команди ви можете вказати ім'я машини, наприклад:

ftp> open admin

Якщо ім'я не зазначене, програма запросить його:

ftp> open

(to) ім'я машини

Якщо ви вказали ім'я машини під час виклику команди, ви можете також указати номер порту на вилученій машині. Якщо зазначено порт, то ftp відкриє зв'язок через цей порт, якщо він переважніше того, що задається за замовчуванням. Зміни порту робляться в тому випадку, якщо вас про це попросять або це задається системним адміністратором. Якщо порт не заданий, то програма його не запитує.

prompt

Ця команда запобігає вашому запиту до ftp про дозвіл на перехід між файлами в багатофайлових командах, таких як mget. Ця команда підключається та відключається при повторному наборі.

put

Ця команда переміщає файл із вашої машини на віддалену машину, до якої ви в цей момент підключені. Ви можете задати ім'я файла вашої машини та ім'я файла віддаленої машини під час виклику команди ftp, наприклад:

ftp> put ім'я вашого файла, ім'я файла вилученої машини

або

ftp> put ім'я вашого файла

Якщо ви не вказали ім'я файлів(а), то програма вас про них запросить, наприклад:

ftp> put

(local-file) ім'я вашого файла

(remote-file) ім'я файла вилученої машини

Якщо ви не вкажете ім'я файла віддаленої машини, то команда put створить файл на віддаленій машині під тим же ім'ям, що й на вашій машині.

pwd

Ця команда змушує ftp друкувати ім'я поточної робочої директорії на віддаленій машині, з якою ви пов'язані в цей момент.

quit

Команда аналогічна команді bye, про яку говорилося вище.

quote

Команда змушує ftp посилати параметри, які ви вводите в машину та посилати їх до віддаленої машини для виконання. Ті команди, що ftp підтримує, можуть бути відображені на екрані за допомогою команди remotehelp. Ви можете ввести цю команду під час виклику програми ftp, наприклад:

ftp> quote NLST

Якщо ви вказали тільки ім'я команди, ftp запитає вас про командний рядок, який потрібно використати, наприклад:

ftp> quote

(command-line to send) NLST

Цю команду необхідно використати тільки за порадою вашого системного адміністратора.

recv

Ця команда аналогічна команді get, описаної вище.

remotehelp

Ця команда запитує допомогу ftp на віддаленій, з якою ви пов'язані в цей момент. Ця інформація повідомляє про те, які команди підтримує віддалена машина.

rename

Ця команда перейменовує файл на віддаленій машині, з якою ви пов'язані зараз. Під час виклику команди ви можете використати імена файлів, наприклад:

ftp> rename ім'я 1 файла, ім'я 2 файла

Якщо ви використали тільки ім'я команди без параметрів, то машина запросить імена файлів:

ftp> rename

(from-name) ім'я 1 файла

(to-name) ім'я 2 файла

mdir

Ця команда вилучає директорію на віддаленій машині, з якою ви пов’язані зараз. Ви можете задати ім’я директорії, яку необхідно вилучити, під час виклику команди, наприклад:

ftp> rmdir /u/mydir

або ви можете не задавати ім’я під час виклику команди, і машина запросить вас про нього:

ftp> rmdir

(directory-name) /u/mydir

Ця команда не завжди підтримується.

Send

Ця команда аналогічна команді put, описаної вище.

Sendport

Ця команда змушує ftp забороняти можливість завдання порту локальної машини для даних віддаленої машини. Ця команда може підключатися й відключатися її повторним набором. Під час виклику ftp за замовчуванням задається певний порт. Цю команду необхідно використати за порадою вашого системного адміністратора.

Status

Це команда змушує ftp зображувати свій поточний статус на вашому терміналі. Статус включає режими, які обрані командами bell, form, hash, glob, port, type.

Type

Ця команда встановлює в якому вигляді передається файл. Допустимі коди ASCII і двійковий. Ця команда аналогічна командам ascii і binary. Якщо ви не вказали тип під час виклику команди, то встановлюється ASCII.

Trace

Ця команда змушує ftp дозволяти пакетне трасування. Ця команда включається й відключається її повторним набором. Цю команду необхідно використати тільки за порадою вашого системного адміністратора.

User

Ця команда дозволяє користувачу ідентифікувати самого себе на віддаленій машині при встановленні зв’язку. Ця 42н.4242ендованною дозволена з опцією –n при виклику ftp. У цьому випадку дана команда не потрібна. Якщо автоматична реєстрація заборонена, то використайте цю команду для власної реєстрації та ідентифікації на віддаленій машині. Віддаленій машині потрібно повідомити три види інформації: реєстраційне ім’я, пароль і ім’я ресурсу. Ім’я користувача потрібно для всіх машин, пароль і ім’я ресурсу потрібні тільки для деяких систем. Ваш системний адміністратор повинен сказати, що потрібно для ваших машин. Він же повинен підказати вам правильне ім’я, пароль і ім’я ресурсу, який ви хочете використати. Ви можете ввести всю цю інформацію під час виклику команди user, наприклад:

ftp> user mike cat myaccount

Ви можете не вказувати всю цю інформацію під час виклику команди. Тоді програма вас про неї запросить, наприклад:

ftp> user

(usename) mike(ім’я користувача)

password:

Account: myaccount(ім’я ресурсу)

Зазначте, що луна не відбиває ваш пароль при його наборі для захисту вашої інформації. Якщо ви не набрали пароль або ім’я ресурсу, то запиту про неї не буде.

Verbose

Ця команда змушує ftp забороняти багатослівний режим. Ця команда включається й вимикається при повторному наборі. У багатослівному режимі ftp протокольні повідомлення, послані віддаленою машиною з’являються на вашому терміналі. Крім того, у цьому режимі відображається статистика після передачі кожного файла. Якщо цей режим заборонений, то дана інформація не зображується.

?

Інша назва команди help.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]