Сетевые команды Shell

Сетевые команды Shell. Персональный компьютер на вашем рабочем месте может быть подключен к локальной сети. Более того, локальные сети становятся реальностью и в домашних условиях. Рассмотрим работу с одной из сетевых команд ОС Linux - утилитой netstat.

Утилита netstat выводит информацию о локальной сети и средствах TCP IP. Именно к ней чаще всего обращаются администраторы, чтобы быстро отыскать причину неисправности в сети TCP IP. Содержание и форма выходной информации зависят от операционной системы, но обычно выводятся следующие данные список соединений, статистика сетевых интерфейсов, информация по буферам данных, содержание таблицы маршрутизации, статистика работы протокола.

Характер выводимой информации можно выбирать с помощью опции командной строки.

Основные ключи утилиты при выведении параметров утилиты на экран используйте команду more для постраничного вывода.

Ключ Функция -r route вывод таблицы маршрутизации -i interfaces вывод статистики сетевых интерфейсов -s statistics Фвывод статистики передачи данных по протоколу SNMP -n numeric имена портов в числовом виде -N symbolic имена портов в символическом виде -l listening вывод состояния портов, находящиеся в режиме ожидания -a all вывод состояния всех портов Активные соединения через порты -st TCP -u UDP -W RAW -X UNIX Список соединений.

Команда netstat обладает набором ключей для отображения портов, находящихся в активном и или пассивном состоянии.

Таким образом, можно получить список всех серверных приложений, работающих на данном компьютере.

Информация выводится столбцами.

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

Пример st1 pds netstat -ta Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 pds.sut.ru telnet gerasim.pds.sut.ru 1288 ESTABLISHED tcp 1 0 pds.sut.ru 4550 pds.sut.ru 3128 CLOSE WAIT tcp 1 0 pds.sut.ru 4548 pds.sut.ru 3128 CLOSE WAIT tcp 0 0 gw.pds.sut. netbios-ssn marya.pds.sut.ru 1027 ESTABLISHED tcp 0 0 gw.pds.sut. netbios-ssn yanko.pds.sut.ru 1104 ESTABLISHED tcp 0 0 gw.pds.sut. netbios-ssn mumu.pds.sut.ru 1065 ESTABLISHED tcp 0 0 6000 LISTEN tcp 0 0 3128 LISTEN tcp 0 0 53333 LISTEN tcp 0 0 389 LISTEN tcp 0 0 localhost 1032 localhost 1033 ESTABLISHED tcp 0 0 netbios-ssn LISTEN tcp 0 0 smtp LISTEN tcp 0 0 imap2 LISTEN tcp 0 0 pop3 LISTEN tcp 0 0 login LISTEN tcp 0 0 shell LISTEN tcp 0 0 8000 LISTEN tcp 0 0 telnet LISTEN tcp 0 0 ftp LISTEN tcp 0 0 time LISTEN tcp 0 0 www LISTEN tcp 0 0 2049 LISTEN tcp 0 0 832 LISTEN More- Как видно из примера, большинство серверов находится в режиме ожидания запроса на соединение LISTEN . В первой строке отражено соединение ESTABLISHED через telnet с машиной gerasim.pds.sut.ru. Состояние CLOSE WAIT означает, что соединение разорвано, но переключение в состояние LISTEN еще не произошло TIME WAIT - что соединение ожидает разрыва.

Если соединение находится в состоянии SYN SENT, то это означает наличие процесса, который пытается установит соединение с несуществующим сервером.

Состояние соединения имеет значение только для протокола TCP. Протокол UDP факта установления соединения не проверяет.

Содержание таблицы маршрутизации.

Каждое соединение машины с сетью называется сетевым интерфейсом. Машина, имеющая более одного интерфейса, может принимать данные по одному интерфейсу и передавать их по другому, таким образом осуществляя пересылку данных между сетями.

Эта функция называется маршрутизацией, а машина, выполняющая ее - шлюзом.

Данные маршрутизации хранятся в одной из таблиц ядра. Для направления пакета по конкретному адресу ядро подбирает наиболее подходящий маршрут. Если такой маршрут отсутствует и нет маршрута по умолчанию, то отправителю возвращается сообщение об ошибке. Команда netstat -r позволяет отображать таблицу маршрутизации. Пункты назначения и шлюзы могут показываться или именами машин, или их IP-адресами. Флаги дают оценку маршрута.

Пример st1 pds netstat -r Kernel IP routing table Destination Gateway Genmask Flags Ifac pds.sut.ru 255.255.255.255 UH eth1 195.19.219.120 255.255.255.248 U eth0 195.19.219.128 255.255.255.192 U eth1 192.168.1.0 255.255.255.0 U eth0 195.19.221.0 lgw.ccs.sut.ru 255.255.255.0 UG eth1 193.125.0.0 lgw.ccs.sut.ru 255.255.0.0 UG eth1 loopback 255.0.0.0 U lo default lgw.ccs.sut.ru 0.0.0.0 UG eth1 Название столбца Расшифровка Gatway Имена используемых шлюзов Genmask Маска, используемая для отображения общей части адреса, соответствующего данному маршруту Flags Флаги, описывающие маршрут G Маршрут использует шлюз U Интерфейс активен, может использоваться для передачи данных H Данные можно передавать только одному узлу D Запись создана перенаправляющим сообщением протокола ICMP M Запись модифицирована перенаправляющим сообщением протокола ICMP Iface Интерфейс, используемый для передачи пакетов Статистика сетевых интерфейсов. При использовании ключа -i команды netstat на экран будут выведены статистические данные всех используемых интерфейсов.

Исходя из них, можно выяснить, исправно ли соединение с сетью.

Пример st1 pds netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX- DRP TX-OVR Flg eth0 1000 0 844904 0 17 0 1454454 5 0 0 BRU eth0 1000 0 - no statistics available - BRU eth1 1500 0 590844 0 7 0 434438 59 0 0 BRU lo 3924 0 45754 0 0 0 45754 0 0 0 LRU Название столбца Расшифровка Gatway Имена используемых шлюзов Genmask Маска, используемая для отображения общей части адреса, соответствующего данному маршруту Ошибки являются следствием проблем в кабельной системе.

В нормально работающей сети количество конфликтов RX-OVR, TX-OVR не должно превышать 3 от числа пакетов, а другие ошибки не должны составлять более 0,5 от общего числа пакетов. Статистика передачи данных. Команда netstat -s выдает содержимое счетчиков сетевых программ. В выходной информации есть разделы, относящиеся к различным протоколам IP, ICMP, TCP, UDP. С ее помощью можно определить место появления ошибки в принятом пакете.

Пример st1 pds netstat -s Ip 179495 total packets received 13 with invalid headers 8753 forwarded 0 incoming packets discarded 168812 incoming packets delivered 325599 requests sent out 544 fragments failed Icmp 728 ICMP messages received 3 input ICMP message failed ICMP input histogram destination unreachable 82 timeout in transit 55 source quenchs 9 echo requests 582 1235 ICMP messages sent 0 ICMP messages failed ICMP output histogram destination unreachable 646 time exceeded 6 redirect 1 echo replies 582 Tcp 2428 active connections openings 0 passive connection openings 0 failed connection attempts 0 connection resets received 17 connections established 154840 segments received 318758 segments send out 1480 segments retransmited 99 bad segments received. 499 resets sent Udp 13397 packets received 73 packets to unknown port received. 12 packet receive errors 5608 packets sent TcpExt 15 resets received for embryonic SYN RECV sockets Утилита netconfНастройки локальной сети можно производить и с помощью специальных утилит netconf или netcfg, которые являются просто составной частью пакета linuxconf.

Первая из них работает в графическом режиме, а вторая- в текстовом. Надо иметь в виду, что многие опытные пользователи Linux критически относятся к возможностям пакета linuxconf и предпочитают прямое редактирование конфигурационных файлов.

Но для новичка эти утилиты могут оказаться удобнее.

Практическая работа 7 1 Утилита netstat список соединений, открытых на сервереЦель работы 1. С помощью утилиты netstat исследовать состояние локальной IP-сети. 2. Научиться получать список соединений, открытых на сервере. Порядок выполнения работы1 Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2 С помощью утилиты netstat получить список соединений, открытых на сервере. Прокомментировать соединения, находящиеся в режиме ESTABLISHED внутренний или внешний интерфейс, с каким узлом, по какому протоколу. Практическая работа 7 2 Утилита netstat таблица маршрутизацииЦель работы 1. С помощью утилиты netstat исследовать состояние локальной IP-сети. 2. Научиться анализировать таблицу маршрутизации.

Порядок выполнения работы1 Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2 Получить таблицу маршрутизации. Указать, через какие интерфейсы с какими сетями происходит связь, имя шлюза, маски локальных сетей.

Практическая работа 7 3 Утилита netstat статистика сетевых интерфейсов, статистика передачи данныхЦель работы 1. С помощью утилиты netstat исследовать состояние локальной IP-сети. 2. Научиться анализировать статистику сетевых интерфейсов и статистику передачи данных. Порядок выполнения работы1 Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2 Получить статистику сетевых интерфейсов. Построить графики статистической информации для внутренней eth0 и внешней eth1 локальных сетей, объяснить значение установленных флагов. Сравнить количество ошибок с требованиями, предъявляемыми к работе сетей сделать вывод о работе локальной сети. 3 Получить статистику сетевых интерфейсов.

Проанализировать работу каждого из протоколов. Для протокола ICMP построить графики входной и выходной гистограмм. Контрольные вопросы 1. Каково назначение утилиты netstat? 2. Какие ключи утилиты netstat позволяют отображать порты, находящиеся в активно и или пассивном состоянии? 3. В каких состояниях может находиться сервер в системе? 4. Какой ключ утилиты netstat позволяет отображать таблицу маршрутизации? 5. Какую информацию отражает таблица маршрутизации? 6. Как с использованием утилиты netstat вывести статические данные всех используемых интерфейсов? Какую информацию позволяют выяснить эти данные? 7. Как вывести на экран содержимое счетчиков сетевых протоколов? Что позволяет выявить данная информация? 8. Какие утилиты, позволяют производить настройку локальной сети? Раздел 3.