Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ОБЗОР СЕТЕВЫХ КОМАНД ДЛЯ TCP/IP
Основные сетевые команды можно разбить на следующие кате-гории: · традиционные сетевые команды; · сетевые команды, обеспечивающие повышенную безопасность. В свою очередь традиционные сетевые команды можно разбить на два подмножества – это команды из окружения Berkeley Unix (4.3 BSD) и ARPANET сети. ARPA – продукт Advenced Research Projects Agency («Агентство перспективных исследовательских проектов»). Команды из окружения 4.3 BSD могут использоваться только с Unix и с совместимыми с Unix системами. Команды из окружения ARPANET работают с любыми операционными системами. Основные различия между этими различными типами команд таковы, что 4.3 BCD команды унаследовали Unix-стиль работы с разрешениями в сети (например, установление доверительных отношений), ARPANET-команды этих разрешений не понимают. Команды, включенные из 4.3 BCD окружения, называются r-ко-мандами (имя команды начинается с буквы -r). Это такие команды как rcp, rсmd, rlogin. Команды, такие как telnet и ftp взяты из ARPANET. Они разработаны независимо от операционной системы. При всех достоинствах традиционных команд (производительность, простота, нетребовательность к ресурсам) они имеют один существенный недостаток – абсолютно незащищенную передачу информации. Из-за этого любому злоумышленнику не составит труда перехватить логин и пароль пользователя, а также другую информацию. Поэтому использование r-команд и некоторых других традиционных команд (например, telnet, ftp) сегодня категорически не рекомендуется. Сетевые команды, обеспечивающие повышенную безопасность, устраняют основной недостаток традиционных команд и дают возможность удаленного выполнения команд и копирования файлов с аутентификацией клиента и сервера и шифрованием передаваемых данных, в том числе имени (логина) и пароля пользователя. Основными представителями этой категории команд являются команды ssh, sftp и scp. В табл. 6.1 приведены основные сетевые команды для TCP/IP. Не все из них предназначены для использования конечными пользователями (и не все они будут выполняться в лабораторной работе). Таблица 6.1
ОПИСАНИЕ СЕТЕВЫХ КОМАНД Сетевые команды, которые будут использованы в данной лабораторной работе, разделены на 3 группы: · команды удаленного входа ( telnet, rlogin, ssh ); · команды удаленного исполнения программ ( rsh, rcmd, ssh ); · команды удаленного копирования файлов ( rcp, ftp, sftp, psftp ). КОМАНДЫ УДАЛЕННОГО ВХОДА Команда rlogin устанавливает удаленный сеанс работы с вашего терминала, который может быть одним из окон X Windows (SCO) или Open Windows (Sun) на указанной удаленной машине. Команда rlogin понимает только имена машин (находящихся в файле /etc/hosts). Используя опцию -l, можно выйти на удаленную машину под именем, отличным от того, под которым пользователь зарегистрирован в данный момент. После этого система на удаленной машине запросит пароль этого пользователя. (Помните, что пароль передается по сети в незашифрованном виде! ) Формат команды: rlogin имя_машины [-l имя_пользователя] Пример % rlogin tom -l sb01 В этом примере устанавливается удаленный сеанс работы на машине tom (II-520). В примере предполагается, что на удаленную машину вы входите под именем sb01, отличающимся от имени (рmххуу), c которым вы работаете на ПК (I-204). Удаленный сеанс работы можно установить и командой telnet. Команда telnet предоставляет виртуальный терминальный доступ к другим машинам сети. Используя telnet, вы можете зарегистрироваться на другой машине сети, к которой также возможен доступ, как будто вы пользователь этой машины. Как только вызвана telnet, ваш терминал подключается к удаленной машине и данные, которые вы набираете, проходят к ней. Ответы с удаленной машины отображаются на экране вашего терминала. Программа telnet – это интерактивная программа, которая может работать в командном режиме и режиме ввода. Когда открывается telnet-связь с удаленной машиной, вы находитесь в режиме ввода. В этом режиме передаются все набираемые вами символы к удаленной машине, а на вашем терминале появятся данные, посланные вам удаленной машиной. Для перехода в командный режим используется комбинация клавиш Ctrl+]. В командном режиме данные, которые вы набираете, интерпретируются telnet. Режим активен, когда telnet не связана с удаленной машиной. Так как описанные выше команды настоятельно не рекомендуется использовать при работе с сетями, как не обеспечивающие должного уровня безопасности, то в лабораторной работе будем использовать для удаленного входа команду (клиента) ssh. SSH (Secure Shell) – протокол прикладного уровня (уровня приложений), позволяющий производить удаленное управление операционной системой, удаленный вход и удаленное исполнение команд (программ). Сходен по функциональности с протоколом Telnet и rlogin, но в отличие от них шифрует весь трафик, включая и передаваемые пароли. SSH-клиенты и SSH-сервера имеются для большинства операционных систем (например, ssh, putty и др). SSH-сервер обычно слушает соединения на TCP-порту номер 22. Спецификация протокола SSH-2 содержится в RFC 4251. Пример использования клиента ssh для удаленного входа на сервер tom.interface.nsk.su (II-520): -bash-3.2$ ssh tom.interface.nsk.su Password: Last login: Thu Mar 13 11: 14: 42 2008 from fpm2.ami.nstu.ru Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved.
FreeBSD 7.0-RELEASE (GENERIC) #0: Sun Feb 24 19: 59: 52 UTC 2008
Welcome to FreeBSD!
Before seeking technical support, please use the following resources:
o Security advisories and updated errata information for all releases are at http: //www.FreeBSD.org/releases/ - always consult the ERRATA section for your release first as it's updated frequently.
o The Handbook and FAQ documents are at http: //www.FreeBSD.org/ and, along with the mailing lists, can be searched by going to http: //www.FreeBSD.org/search/. If the doc distribution has been installed, they're also available formatted in /usr/share/doc. If you still have a question or problem, please take the output of `uname -a', along with any relevant error messages, and email it as a question to the questions@FreeBSD.org mailing list. If you are unfamiliar with FreeBSD's directory layout, please refer to the hier(7) manual page. If you are not familiar with manual pages, type `man man'.
You may also use sysinstall(8) to re-enter the installation and configuration utility. Edit /etc/motd to change this login announcement. % В этом примере c помощью клиента ssh устанавливается удаленный сеанс работы на машине tom.interface.nsk.su (II-520). В примере предполагается, что на удаленную машину вы входите под тем же име-нем, под которым работаете на локальной машине (fpm2.ami.nstu.ru), поэтому опция -l отсутствует. При этом осуществляется обычная парольная аутентификация. Аутентификация клиента ssh может осуществляться еще двумя способами: · аутентификация по адресу клиента; · аутентификация по публичному ключу пользователя. Оба этих способа требуют дополнительных действий от пользователя, и если пользователь корректно выполнит эти дополнительные действия, то при установлении удаленных сеансов работы ssh-сервер не будет требовать ввода пароля. ВЫПОЛНЕНИЕ УДАЛЕННЫХ КОМАНД Команда rcmd ( rsh для sun) позволяет посылать команды к удаленным UNIX-машинам для выполнения и получения результатов на вашем терминале. Нет необходимости регистрироваться на удаленных машинах, чтобы использовать rcmd (естественно, только после установления доверительных отношений), так как с этой машиной устанавливается канал связи. Команда rcmd полезна для создания распределенных shell-программ, которые выполняют команды на нескольких машинах в сети, и может быть использована только с удаленными машинами, использующими Unix или Unix-совместимую операционную систему. Для выполния rcmd необходимо иметь эквивалент пользователя на удаленной машине. Команда rcmd передает свой стандартный ввод и вывод удаленно выполняемым командам и возвращает в исходную систему все, что является результатом их работы, т. е. стандартный вывод и файл ошибок. Формат команды rcmd: % rcmd имя_машины команда(ы) Так как использование r-команд в современных версиях POSIX-совместимых ОС запрещено, то рассмотрим удаленное исполнение команд с помощью клиента ssh. Пример выполнение команды pwd на удаленном компьютере tom.interface. nsk.su (2-520). -bash-3.2$ ssh tom.interface.nsk.su pwd Password: /usr/home/dnl -bash-3.2$ Результат выполнения удаленной команды (/usr/home/dnl ) появился на экране локальной машины только после того как была выполнена парольная аутентификация. Естественно, более профессионально этот пример выглядел бы, если пользователь локальной машины обеспечил необходимые условия для других типов аутентификации. Например, по адресу клиента или по публичному ключу пользователя. ПЕРЕДАЧА ФАЙЛОВ Для передачи файлов можно использовать команды ftp, rcp, sftp, psftp и scp. Команда ftp делает возможной передачу файла между вашей машиной и другими машинами глобальной сети. Это интерактивная программа, которая позволяет вам вводить различные команды для перемещения и получения файла. Кроме того, ftp позволяет вам проверять и модифицировать файловые системы машин глобальной сети. Вы будете находиться в интерактивном режиме, пока не выйдете из ftp. Программа ftp применяется в широком диапазоне операционных систем. Формат команды ftp: ftp [-опции][имя_машины] Имя_машины, с которой вы хотите связаться, должно находиться в файле /etc/hosts. Когда вы вводите имя_машины во время вызова ftp, программа устанавливает связь с этой машиной и разрешает вам передачу файлов. Если вы не используете имя_машины при вызове ftp, то должны открыть связь с этой машиной. Это делается с помощью команды программы ftp-open. Список команд ftp можно получить, если после приглашения ftp> набрать команду "? " или help. Краткую справку по каждой команде можно получить, если после приглашения ftp> ввести команду: help < имя команды> Наиболее часто используемые команды ftp приведены в табл. 6.2. Анонимный доступ к удаленной системе через ftp может быть осуществлен с использованием имени пользователя ftp, при этом вам предоставляются ограниченные возможности при работе на удаленной системе. Пример % ftp sun name: ftp passwd: < почтовый адрес (обязательно с символом @)> ftp> Таблица 6.2
ОГРАНИЧЕНИЯ ДЛЯ ftp КОМАНД В дополнение к командам, которые используют стандартные протокольные функции ftp (open, get, put, quit, и др.), TCP/IP представляет группу команд, которые следует применять только для связи с машинами, работающими в Unix или Unix-совместимых системах. Это условие создает определенные ограничения по использованию команды ftp. Когда устанавливается связь с удаленной машиной, не использующей Unix, следует выяснить список поддерживаемых команд. Для получения такой информации необходимо выполнить команду ftp rhelp после установления связи с удаленной машиной. ОПЦИИ ftp. Каждая опция имеет соответствующую команду, которая может быть использована внутри ftp. Опция состоит из дефиса (-) и одной буквы (обычно первой буквы соответствующей команды), например: -v (verbose ) заставляет работать ftp в «подробном» режиме. В этом режиме сообщения ftp, посланные удаленной машиной в ftp, появляются на экране вашего дисплея. При завершении передачи каждого файла в этом режиме на вашем экране появляются статистические сообщения об этом. Режим устанавливается по умолчанию, если ftp выполняется интерактивно; -d (debug) заставляет ftp работать в режиме отладки. В этом режиме сообщения ftp, посланные в удаленную машину, отображаются на экране вашего дисплея. В противном случае информация не отображается; -n (user) предотвращает использование режима авторегистрации во время связи с удаленной машиной. Когда установлен режим авторегистрации, ftp идентифицирует вас автоматически на удаленной машине. Для автоматической регистрации необходимо создать файл по имени.netrc в вашем домашнем каталоге. Этот файл содержит строки-элементы регистрационных данных для каждой машины, которая может потребоваться для автоматической связи. Когда вы вызываете ftp, указывая машину, т. е. когда вы одновременно с вызовом открываете связь с машиной, ftp читает файл.netrc. Если есть строка-элемент для этой машины, то ftp автоматически соединяет вашу машину с этой удаленной машиной. Это произойдет без вашего имени и пароля, если ввести пароль в этот файл. Если открыта связь в «подробном» режиме, то можно видеть, как происходят транзакции. Формат строки-элемента файла.netrc: machine имя_машины login имя_пользователя password пароль, где machine, login, password – ключевые слова, за которыми следуют символьные данные, необходимые для регистрации J. Примерстроки-элемента machine sun login sb03 password open03, где sun – имя машины; sb03 – пользователь, который регистрируется в машине sun; open03 – пароль пользователя sb03. Пример использования ftp опций % ftp -v -d sun Эта команда вызывает ftp в «подробном» и отладочном режиме и побуждает ftp открыть связь с удаленной машиной по имени sun. В отладочном режиме команды, посылаемые к удаленной машине, изображаются на вашем экране. «Подробный» режим изображает ответы получателя и статистические сведения о полученных байтах инфор-мации. Пример работы команды ftp смотри на с. 97. Этот пример показывает использование ftp для посылки и приема файлов. Команда ftp вызывается с именем удаленной машины (sun). После установки связи происходит регистрация пользователя (sb01). Регистрация завершается анализом пароля, который вводит пользователь в ответ на приглашение " Password: ". Так как подробный режим в этом примере устанавливается по умолчанию, то на экране помимо приглашения ftp> появляются и другие сообщения команды ftp. Для пересылки файла.rhosts с удаленной машины на локальную используется команда get. Для пересылки файла (.menu) с локальной на удаленную машину используется команда put. Результаты пересылки файла.menu подтверждает и команда ls. Команда bye используется для завершения сеанса работы с командой ftp и возврата в локальную машину. При работе в сети в среде операционной системы Unix вместо команды ftp может быть использована команда rcp, которая действует только в этой операционной системе. Команда rcp вызывается из оболочки Unix. При этом необходимо указать имя файла для копирования и место, куда его нужно копировать. Заметьте, что rcp аналогична cp. Имена файлов соответствуют соглашениям, принятым в Unix, и могут иметь одну из следующих трех форм: - user@machine: filename; - machine: filename; - filename, где machine – имя машины, которая содержит или будет содержать файл; user – имя пользователя той машины, которую вы указали; filename – это стандартное имя в UNIX, которое может включать каталоги. 3% ftp sun Connected to sun.nstu.nsk.su 220- Welcome to NIEE Hackers League main FTP server! 220- For administration contact use E-mail: das@sun.cit.nstu.nsk.su 220- 220 sun FTP server (Version 2.4) Thu May 5 15: 32: 10 GMT+0600 1994 Name (sun: dnl): sb01 331 Password required for sb01. Password: 230 User sb01 logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 " /usr/export/home/sun/sb01" is current directory. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 9 -rw-r--r-- 1 sb01 daemon 2897 Nov 20 1993.chsrc -rw-r--r-- 1 sb01 daemon 2496 Nov 20 1993.login -rw-r--r-- 1 sb01 bbsusers 20 Sep 27 16: 47.rhosts -rw-r--r-- 1 sb01 bbsusers 1806 Sep 27 17: 29 Initial.dt 226 Transfer complete. ftp> get.rhosts local: .rhosts remote: .rhosts 200 PORT command successful. 150 Opening BINARY mode data connection for.rhosts (20 bytes). 226 Transfer complete. 20 bytes received in 0.01 seconds (2 Kbytes/s) ftp> put.menu local: .menu remote: .menu 200 PORT command successful. 150 Opening BINARY mode data connection for.menu. 226 Transfer complete. 642 bytes send in 0.01 seconds (63 Kbytes/s) ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. lotal 10 -rw-r--r-- 1 sb01 daemon 2897 Nov 20 1993.chsrc -rw-r--r-- 1 sb01 daemon 2496 Nov 20 1993.login -rw-rw-r-- 1 sb01 bbsusers 642 Oct 10 17: 07.menu -rw-r--r-- 1 sb01 bbsusers 20 Sep 27 16: 47.rhosts -rw-r--r-- 1 sb01 bbsusers 1806 Sep 27 17: 29 Initial.dt 226 Transfer complete. ftp> bye 221 Goodbye. 4% Если вы указали только имя каталога, доступного rcp команде, то файл(ы), который(ые) вы указали, копируются в этот каталог с тем же именем. При вызове команды можно указать опцию -r. Эта опция разрешает копирование каталогов. В примерах используются две удаленные машины по имени ami и sun. 1. Первый пример показывает копирование файла по имени.rhosts из текущего каталога пользователя в домашний каталог на машине ami: sun% rcp.rhosts ami:.rhosts 2. Во втором примере копируются каталог с иерархией /net/src на локальной машине в каталог src в домашнем каталоге на ami: sun% rcp -r /net/scr ami: src 3. В третьем примере показано, как пользователь копирует файл list из домашнего каталога пользователя по имени dnl на sun в директорию /usr/tmp на ami. Копия на ami принадлежит пользователю по имени nick: sun% rcp dnl@sun: list nick@ami: /usr/tmp Клиенты sftp и scp с точки зрения их использования практически идентичны соответственно клиентам ftp и rcp. За исключением того, что они более безопасны, так как обеспечивают шифрование трафика и передаваемых паролей. Ниже приведены примеры их использования. Пример 1. Использование клиента sftp %sftp fpm2.ami.nstu.ru Connecting to fpm2.ami.nstu.ru... dnl@fpm2.ami.nstu.ru's password: sftp > help Available commands: cd path Change remote directory to 'path' lcd path Change local directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' help Display this help text get remote-path [local-path] Download file lls [ls-options [path]] Display local directory listing ln oldpath newpath Symlink remote file lmkdir path Create local directory lpwd Print local working directory ls [path] Display remote directory listing lumask umask Set local umask to 'umask' mkdir path Create remote directory progress Toggle display of progress meter put local-path [remote-path] Upload file pwd Display remote working directory exit Quit sftp quit Quit sftp rename oldpath newpath Rename remote file rmdir path Remove remote directory rm path Delete remote file symlink oldpath newpath Symlink remote file version Show SFTP version ! command Execute 'command' in local shell ! Escape to local shell ? Synonym for help sftp> ls -la ls -la drwx-----x 12 dnl teachers 4096 Mar 15 18: 32. drwxr-x--- 64 root teachers 4096 Sep 21 16: 09.. -rw------- 1 dnl teachers 7100 Mar 15 18: 29.bash_history drwx------ 2 dnl teachers 4096 Mar 10 2005.cedit -rw------- 1 dnl teachers 35 Feb 26 09: 49.lesshst drwxr-xr-x 3 dnl teachers 4096 Mar 11 11: 32.mc -rw------- 1 dnl teachers 9727 Apr 13 2002.mc.menu drwx------ 2 dnl teachers 4096 May 23 2007.ssh -rw------- 1 dnl teachers 659 Feb 29 08: 22.viminfo -rw-r--r-- 1 dnl teachers 600 Feb 29 10: 52 PUTTY.RND drwxr-xr-x 3 dnl teachers 4096 Apr 26 2002 WINDOWS -rw-r--r-- 1 dnl teachers 3970 Mar 30 2005 a13 -rw-r--r-- 3 dnl teachers 3970 Feb 22 2005 abc1 -rw-r--r-- 1 dnl teachers 3970 Mar 30 2005 abc2 -rw-r--r-- 3 dnl teachers 3970 Feb 22 2005 abc3 drwxr-xr-x 4 dnl teachers 4096 Apr 6 2005 dnl13 -rw-r--r-- 3 dnl teachers 3970 Feb 22 2005 feb22 drwxr-xr-x 2 dnl teachers 4096 Apr 6 2005 hello -rw-r--r-- 1 dnl teachers 1040768 Mar 12 10: 22 magic.mgc -rw-r--r-- 1 dnl teachers 47814 Mar 11 10: 04 march11 lrwxrwxrwx 1 dnl teachers 7 Mar 15 18: 32 newpath drwxr-xr-x 2 dnl teachers 4096 Mar 15 18: 32 path drwxr-xr-x 2 dnl teachers 4096 Apr 27 2006 practice drwxr-xr-x 2 dnl teachers 4096 Feb 21 2005 tmp -rw-r--r-- 1 dnl teachers 600 Feb 29 09: 54 winscp.RND drwxr-xr-x 4 dnl teachers 4096 Apr 6 2005 workDIR sftp> ls PUTTY.RND WINDOWS a13 abc1 abc2 abc3 dnl13 feb22 hello magic.mgc march11 newpath path practice tmp winscp.RND workDIR sftp> get abc1 abc1 Fetching /home/teachers/dnl/abc1 to abc1 /home/teachers/dnl/abc1 100% 3970 3.9KB/s 00: 00 sftp> ! ls -la ! ls -la total 32 drwxr-xr-x 4 dnl staff 512 Mar 15 18: 52. drwxr-xr-x 15 root wheel 512 Mar 13 11: 23.. -rw-r--r-- 1 dnl staff 751 Mar 13 11: 13.cshrc -rw------- 1 dnl staff 1294 Mar 15 18: 50.history -rw------- 1 dnl staff 35 Mar 15 18: 37.lesshst -rw-r--r-- 1 dnl staff 248 Mar 13 11: 13.login -rw-r--r-- 1 dnl staff 158 Mar 13 11: 13.login_conf -rw------- 1 dnl staff 373 Mar 13 11: 13.mail_aliases -rw-r--r-- 1 dnl staff 331 Mar 13 11: 13.mailrc drwxr-xr-x 2 dnl staff 512 Mar 15 18: 50.mc -rw-r--r-- 1 dnl staff 766 Mar 13 11: 13.profile -rw------- 1 dnl staff 276 Mar 13 11: 13.rhosts -rw-r--r-- 1 dnl staff 975 Mar 13 11: 13.shrc drwx------ 2 dnl staff 512 Mar 13 22: 10.ssh -rw-r--r-- 1 dnl staff 3970 Mar 15 18: 52 abc1 sftp>
Пример 2. Пример использования клиента scp %scp dnl@fpm2.ami.nstu.ru: dnl13 dnl13 dnl@fpm2.ami.nstu.ru's password: scp: dnl13: not a regular file %scp dnl@fpm2.ami.nstu.ru: abc2 abc2 dnl@fpm2.ami.nstu.ru's password: abc2 100% 3970 3.9KB/s 00: 00 %ls -la total 36 drwxr-xr-x 4 dnl staff 512 Mar 15 19: 12. drwxr-xr-x 15 root wheel 512 Mar 13 11: 23.. -rw-r--r-- 1 dnl staff 751 Mar 13 11: 13.cshrc -rw------- 1 dnl staff 1309 Mar 15 18: 55.history -rw------- 1 dnl staff 35 Mar 15 18: 37.lesshst -rw-r--r-- 1 dnl staff 248 Mar 13 11: 13.login -rw-r--r-- 1 dnl staff 158 Mar 13 11: 13.login_conf -rw------- 1 dnl staff 373 Mar 13 11: 13.mail_aliases -rw-r--r-- 1 dnl staff 331 Mar 13 11: 13.mailrc drwxr-xr-x 2 dnl staff 512 Mar 15 18: 50.mc -rw-r--r-- 1 dnl staff 766 Mar 13 11: 13.profile -rw------- 1 dnl staff 276 Mar 13 11: 13.rhosts -rw-r--r-- 1 dnl staff 975 Mar 13 11: 13.shrc drwx------ 2 dnl staff 512 Mar 13 22: 10.ssh -rw-r--r-- 1 dnl staff 3970 Mar 15 18: 52 abc1 -rw-r--r-- 1 dnl staff 3970 Mar 15 19: 12 abc2 % В приведенных примерах использована парольная аутентификация для клиентов. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1444; Нарушение авторского права страницы