Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Алгоритмы телекоммуникационных сетей. Часть 3. Процедуры, диагностика, безопасность

Покупка
Новинка
Артикул: 825182.01.99
Доступ онлайн
1 000 ₽
В корзину
Рассмотрены базовые процедуры Интернет (e-mail, telnet/ssh, FTP/scp и др.) и прикладные протоколы (NTP, whois, ICQ и т.д.), описана техника сетевой диагностики. Дан обзор драматически увеличивающегося списка сетевых угроз и средств противодействия. Представлены описания базовых криптографических алгоритмов и областей их применения.
Семенов, Ю. А. Алгоритмы телекоммуникационных сетей. Часть 3. Процедуры, диагностика, безопасность : краткий учебный курс / Ю. А. Семенов. - Москва : ИНТУИТ, 2016. - 432 с. - ISBN 978-5-94774-708-9. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2137460 (дата обращения: 01.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Процедуры, диагностики и безопасность в Интернет

2-е издание, исправленное

Семенов Ю.А.

Национальный Открытый Университет “ИНТУИТ”
2016

2
УДК 004.738.5(07)
ББК 12
С30
Алгоритмы телекоммуникационных сетей. Часть 3. Процедуры, диагностика, безопасность / Семенов
Ю.А. - M.: Национальный Открытый Университет “ИНТУИТ”, 2016 (Основы информационных
технологий)
ISBN 978-5-94774-708-9

Рассмотрены базовые процедуры Интернет (e-mail, telnet/ssh, FTP/scp и др.) и прикладные протоколы
(NTP, whois, ICQ и т.д.), описана техника сетевой диагностики.
Дан обзор драматически увеличивающегося списка сетевых угроз и средств противодействия.
Представлены описания базовых криптографических алгоритмов и областей их применения.

(c) ООО “ИНТУИТ.РУ”, 2007-2016
(c) Семенов Ю.А., 2007-2016

3
Процедуры Интернет (Telnet/ssh, FTP/SFTP, ping, traceroute)

В данной лекции рассматриваются Процедуры Интернет: Telnet/ssh, FTP/SFTP, ping,
traceroute. Приведены основные понятия и определения, а также свойства
рассматриваемых процедур

Собственно ради реализации различных процедур через сеть и создавался Интернет.
Данный раздел отражает наиболее динамично развивающуюся часть Интернет-
технологий. Одни виды услуг устаревают и выходят из употребления (Gopher, WAIS,
MOSAIC, Archie), другие появляются вновь (например, IP-телефония, поисковые
машины, электронная коммерция). В последнее время несравненно большее внимание
стали уделять сетевой безопасности и диагностическим аспектам работы с сетями.
Безопасность вышла на первые позиции из-за внедрения Интернет в область финансов
и бизнеса. Последнее время активно развиваются технология мультимедиа (интеграция
с кабельным телевидением), сфера развлечений (игровые серверы, виртуальная
реальность) и информационно-поисковые системы на основе техники WWW.

Удаленный доступ (Telnet/ssh)

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

1. определяет сетевой виртуальный терминал ( NVT — network virtual terminal),

который обеспечивает стандартный интерфейс к удаленной системе;

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

обмена;

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

) выступать в качестве клиента

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

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

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

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

Таблица 1.1. Коды опций в 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

5
Далее TELNET переходит в режим ввода. В этом режиме любой введенный текст
пересылается удаленной ЭВМ. Ввод может производиться посимвольно или
построчно. При посимвольном режиме каждый введенный символ пересылается
немедленно; при построчном режиме отклик на каждое нажатие клавиши производится
локально, а пересылка выполняется лишь при нажатии клавиши <Enter>. Некоторые
опции требуют дополнительных данных, такая информация может быть получена с
помощью субопций (RFC-1091). При этом клиент посылает трехбайтовую
последовательность IAC WILL 24, где 24 — код-идентификатор терминала. Получатель
может откликнуться последовательностью IAC DO 24, если все в порядке. Сервер, в
свою очередь, посылает последовательность IAC SB 24 1 IAC SE, запрашивая тип
терминала клиента. Здесь код 24 означает, что это субопция для опции типа терминала
(см. табл. 1.1), а следующая 1 является командой “пришлите код вашего терминала”.
Клиент в свою очередь может откликнуться, послав последовательность IAC SB 24 0 I

B M P C IAC SE. Здесь байт 0 означает “мой терминал имеет тип”. Список кодов
терминалов содержится в RFC-1700.

Когда связь с удаленной ЭВМ уже осуществлена, переход в командный режим может
быть выполнен с помощью нажатия ‘^]’ (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 и др. Смотри таблицу 1.3.

escape
Посылает escape-символ (например, ‘^]’)

SYNCH

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

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

6
set

argument

value

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

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

Практически стандарт TELNET описан во многих RFC-документах, которые
определяют различные варианты реализации этой команды. Список опций команды
telnet приведен в таблице 1.1.

Таблица 1.2. Переменные telnet

Название

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

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

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

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

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

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

на удаленной ЭВМ

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

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

символов
Назначение

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

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

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

ec

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

el

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

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

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

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

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

Таблица 1.4. Коды команд 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) позволяет прервать, удалить или завершить
процесс пользователя (например, выйти из бесконечного цикла).

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

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

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

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

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

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

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

Ctrl+E
Echo

Ctrl+]
Escape

Ctrl+?
Erase

Ctrl+O
flushoutput

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

Ctrl+U
Kill

Ctrl+\
Quit

Ctrl+D
EOF

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

Рис. 1.1.  Формат блока данных Telnet

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

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

IAC WILL TRANSMIT-BINARY,

9
которая в цифровых кодах выглядит как ( 255 251 0 ).

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

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

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

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

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

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

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

SUN Microsistems разработала и широко использует программный модуль RPC (Remote
Procedure Call, RFC-1057), он используется для удаленного вызова программ почти во
всех системах, базирующихся на UNIX. RPC может применяться как на TCP, так и
UDP транспортных уровнях.

Для удаленного исполнения программ может служить команда REXECD, которая
активно используется на IBM-системах в рамках ОС AIX.

Уязвимость протокола Telnet для хакеров привела к тому, что в последнее время эта
утилита часто заменяется SSH (Secure Shell) или другими программами,
обеспечивающими безопасный удаленный доступ. Но следует иметь в виду, что SSH
сохраняет алгоритмическую логику telnet , хотя и использует порт 22 вместо 23. К
числу недостатков Telnet следует отнести невозможность эффективного использования
мышки.

Протокол пересылки файлов FTP

FTP (RFC-959) обеспечивает файловый обмен между удаленными пользователями.
Протокол FTP формировался многие годы. Первые реализации в МТИ относятся к
1971. (RFC 114 и 141). RFC 172 рассматривает протокол, ориентированный на

10
Доступ онлайн
1 000 ₽
В корзину