netstat — вывод параметров настройки сети и статистик

We use cookies. Read the Privacy and Cookie Policy

Программа netstat используется для исследования различных настроек сети и статистик. С помощью множества параметров этой команды можно просматривать самые разные аспекты настройки сети. С помощью параметра -ie, например, можно исследовать сетевые интерфейсы в системе:

[me@linuxbox ~]$ netstat -ie

eth0 Link encap:Ethernet HWaddr 00:1d:09:9b:99:67

inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::21d:9ff:fe9b:9967/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:238488 errors:0 dropped:0 overruns:0 frame:0

TX packets:403217 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

RX bytes:153098921 (146.0 MB) TX bytes:261035246 (248.9 MB)

Memory:fdfc0000-fdfe0000

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:2208 errors:0 dropped:0 overruns:0 frame:0

TX packets:2208 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:111490 (108.8 KB) TX bytes:111490 (108.8 KB)

Пример, приведенный выше, показывает, что наша тестовая система имеет два сетевых интерфейса. Первый, с именем eth0, — это интерфейс Ethernet; второй, с именем lo, — это петлевой интерфейс (loopback), виртуальный интерфейс, который система использует, чтобы разговаривать «сама с собой».

Выполняя причинно-следственную диагностику, первое, на что следует обратить внимание, — наличие слова UP в начале четвертой строки для каждого интерфейса, указывающего, что сетевой интерфейс включен, и присутствие допустимого IP-адреса в поле inet addr во второй строке. Для систем, использующих протокол динамической настройки хостов (Dynamic Host Configuration Protocol, DHCP), наличие допустимого IP-адреса в этом поле подтвердит нормальную работу DHCP.

Использование параметра -r позволит получить таблицу маршрутизации ядра. По этой таблице можно судить, как настроена передача пакетов между сетями:

[me@linuxbox ~]$ netstat -r

Таблица маршутизации ядра протокола IP

Destination Gateway Genmask Flags MSS Window irtt Iface

192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

В этом простом примере представлена типичная таблица маршрутизации для клиентской машины, подключенной к локальной сети (Local Area Network, LAN), находящейся за брандмауэром/маршрутизатором. В первой строке демонстрируется адрес назначения 192.168.1.0. IP-адреса, оканчивающиеся нулем, соответствуют целым сетям, а не отдельным узлам в них, поэтому такой адрес подразумевает: «любой узел в локальной сети». Следующее поле, Gateway (шлюз), определяет имя или IP-адрес шлюза (маршрутизатора) для выхода текущего узла в указанную сеть. Звездочка в этом поле указывает, что использовать шлюз не требуется.

В последней строке в качестве адреса назначения указано слово default (по умолчанию). Эта строка управляет трафиком, адресованным любым сетям, не перечисленным в таблице. В данном примере видно, что роль шлюза выполняет маршрутизатор с адресом 192.168.1.1, который, по всей видимости, знает, что делать с трафиком.

Программа netstat имеет множество параметров, из которых мы рассмотрели только пару. Полный их список вы найдете на странице справочного руководства (man) для netstat.