Введение
В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, включен ли сетеевой протокол и активно ли он используется в Linux. Мы рассмотрим три различных метода для достижения этой цели.
Во - первых, вы будете использовать команду netstat -s, чтобы просмотреть подробную статистику различных сетевых протоколов, таких как TCP, UDP и ICMP, и получить представление о их активности. Затем вы изучите каталог /proc/net, который предоставляет доступ к информации о сетевом ядре, чтобы проверить наличие и состояние протоколов. Наконец, вы будете использовать команду ss -s, современную альтернативу netstat, для проверки использования протоколов и просмотра статистики. По окончании этого практического занятия вы получите практические навыки для диагностики активности сетевых протоколов в своей системе Linux.
Проверка статистики протоколов с помощью netstat -s
На этом этапе мы рассмотрим, как проверить статистику сетевых протоколов с использованием команды netstat. netstat - это утилита командной строки, которая отображает сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскирующие соединения и членство в мультикаст-группах.
Опция -s в команде netstat показывает статистику по каждому протоколу. Это может быть очень полезно для понимания сетевой активности в вашей системе и диагностики возможных сетевых проблем.
Если терминал еще не открыт, откройте его. Для этого нажмите на значок Xfce Terminal слева на рабочем столе.
Теперь введите следующую команду и нажмите Enter:
netstat -s
Вы увидите вывод, похожий на следующий (точные числа и протоколы могут отличаться в зависимости от активности вашей системы):
Ip:
Forwarding: 1
... (различные статистические данные IP)
Icmp:
... (различные статистические данные ICMP)
IcmpMsg:
... (различные статистические данные сообщений ICMP)
Tcp:
Active connections openings: 123
Passive connection openings: 45
... (различные статистические данные TCP)
Udp:
InDatagrams: 678
OutDatagrams: 901
... (различные статистические данные UDP)
UdpLite:
... (различные статистические данные UDPLite)
Этот вывод представляет собой сводку статистики различных сетевых протоколов, таких как IP, ICMP, TCP и UDP. Например, в разделе Tcp: вы можете увидеть количество активных и пассивных установок соединений. В разделе Udp: вы можете увидеть количество входящих и исходящих датаграмм.
Понимание этих статистических данных поможет вам определить, испытывает ли определенный протокол высокую нагрузку или ошибки.
Отведите немного времени, чтобы просмотреть вывод и увидеть, какие протоколы перечислены и какие статистические данные предоставлены для каждого из них.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка протоколов в /proc/net
На предыдущем этапе мы использовали команду netstat -s для просмотра статистики протоколов. Теперь давайте посмотрим, откуда в файловой системе Linux берутся некоторые из этих данных.
Linux предоставляет виртуальную файловую систему /proc, которая содержит информацию о процессах и системной конфигурации. Внутри /proc каталог /proc/net хранит информацию о сетевом стеке.
Мы можем использовать команду ls для вывода содержимого каталога /proc/net. Введите следующую команду в терминале и нажмите Enter:
ls /proc/net
Вы увидите список файлов и каталогов, которые представляют различную информацию, связанную с сетью. Вывод будет выглядеть приблизительно так:
arp dev_mcast ip_mr_vif netlink psched tcp6 udp6
dev if_inet6 ip_tables netstat rpc udplite unix
dev_snmp6 ip_mr_cache ipv6_route packet route udplite6
Многие из этих файлов содержат подробную информацию о сетевых протоколах и соединениях. Например:
tcp: Содержит информацию об активных TCP - соединениях.udp: Содержит информацию об активных UDP - соединениях.netstat: Содержит различную сетевую статистику, аналогичную тому, что показывает командаnetstat -s.
Давайте посмотрим на содержимое файла netstat в каталоге /proc/net. Мы можем использовать команду cat для вывода содержимого файла.
Введите следующую команду и нажмите Enter:
cat /proc/net/netstat
Вывод будет представлять собой необработанный дамп сетевой статистики. Вначале он может показаться немного запутанным, так как не отформатирован для удобного чтения человеком, как вывод команды netstat -s.
TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned ...
IpExt: InNoRoutes InTruncatedPkts InEZHeadroomOutMcasts InBcastPktsOutBcastPkts InOctets OutOctets ...
Этот файл содержит исходные данные, которые инструменты типа netstat -s обрабатывают и форматируют. Исследование файлов в /proc/net может быть полезно для продвинутой сетевой отладки и понимания сетевого состояния ядра.
Пока просто зафиксируйте наличие и содержимое этих файлов, чтобы понять, что сетевые статистики доступны через файловую систему /proc.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка использования протоколов с помощью ss -s
На этом этапе мы будем использовать команду ss, которая является утилитой для исследования сокетов. Часто ее считают заменой для netstat, так как она может отображать больше информации о TCP и состояниях соединений.
Как и команда netstat, команда ss также имеет опцию -s, которая позволяет отобразить сводную статистику для различных типов сокетов. Это даст вам быстрый обзор количества открытых соединений и сокетов для разных протоколов.
Если терминал еще не открыт, откройте его.
Введите следующую команду и нажмите Enter:
ss -s
Вы увидите вывод, в котором суммируется количество сокетов в различных состояниях и для разных протоколов. Вывод может выглядеть так:
Total: 1234 (kernel 5678)
TCP: 90 (estab 50, closed 20, orphaned 5, synrecv 3, timewait 10, ...)
UDP: 15
RAW: 0
UNK: 0
TCP:
ESTAB 50
TIME-WAIT 10
... (other TCP states)
Разберем вывод:
Total: Показывает общее количество сокетов.TCP: Предоставляет сводку по TCP - сокетам, включая общее количество и количество в различных состояниях, таких какestab(установленное соединение),closed(закрытое соединение),timewaitи т.д.UDP: Показывает общее количество UDP - сокетов.RAW: Показывает общее количество "сырых" (raw) сокетов.UNK: Показывает количество неизвестных типов сокетов.
Под сводными строками ss -s часто предоставляет более подробный разбор состояний TCP.
Сравнивая выводы netstat -s и ss -s, вы, возможно, заметите, что ss -s больше фокусируется на состояниях сокетов, что может быть очень полезно для диагностики проблем с соединениями. Например, большое количество сокетов в состоянии TIME - WAIT может указывать на проблемы с эффективным закрытием соединений.
Использование ss -s дает другую перспективу на сетевую активность по сравнению с netstat -s. Обе команды являются ценными инструментами для мониторинга и отладки сетей в Linux.
Теперь вы узнали, как использовать netstat -s, исследовать /proc/net и использовать ss -s для проверки статистики сетевых протоколов. Это фундаментальные навыки для понимания сетевой активности в системе Linux.
Нажмите Продолжить, чтобы завершить этот практический урок.
Резюме
В этом практическом уроке мы научились проверять, включен ли сетевой протокол в системе Linux, анализируя сетевую статистику и системные файлы. Мы начали с использования команды netstat -s для отображения статистики по каждому протоколу для различных сетевых протоколов, таких как IP, ICMP, TCP и UDP. Это помогает понять сетевую активность и диагностировать проблемы. Затем мы изучили, как проверить информацию о протоколах, просматривая файлы в каталоге /proc/net, который позволяет увидеть состояние сетевого стека ядра. Наконец, мы использовали команду ss -s для проверки использования протоколов, которая представляет собой еще один способ просмотра сводной статистики по разным протоколам. Эти методы дают ценную информацию о сетевых протоколах, активных в системе Linux.



