Темы
Введение
Установка netstat
Основные режимы работы
Заключение
netstat — классическая консольная утилита для отображения сетевых подключений, маршрутов, статистики интерфейсов и портов.
Ранее входила в состав пакета net-tools, но в современных версиях Fedora заменена на инструмент ss из пакета iproute2.
Тем не менее, netstat всё ещё можно установить и использовать для совместимости или привычного анализа.
Пакет net-tools можно установить стандартной командой:
Код: Выделить всё
sudo dnf install net-tools
Код: Выделить всё
which netstat
Код: Выделить всё
/usr/bin/netstat
Ниже приведены наиболее часто используемые варианты запуска:
| Команда | Назначение |
| netstat -tuln | Показать все TCP и UDP-порты, прослушиваемые на сервере |
| netstat -anp | Показать все активные соединения и PID процессов |
| netstat -i | Информация об интерфейсах (пакеты, ошибки, коллизии) |
| netstat -r | Таблица маршрутизации (аналог команды route) |
Пример вывода
Код: Выделить всё
# netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
udp 0 0 127.0.0.1:323 0.0.0.0:*
Код: Выделить всё
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 195.0.1.2 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
195.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0G - маршрут использует шлюз (gateway).
U - интерфейс, который нужно использовать, работает.
H - только отдельный хост может быть достигнут через данный маршрут (не сеть!). Например, для записи loopback 127.0.0.1 .
D - устанавливается, если запись таблицы была произведена по приходу перенаправляемого сообщения ICMP (см. раздел Internet Control Message Protocol главы 2), или если запись таблицы была создана демоном динамической маршрутизации, наподобие gated.
M - устанавливается, если запись таблицы была изменена перенаправляемым сообщением ICMP.
! - путь неверен (закрыт), все пакеты будут отброшены.
Отображение статистики интерфейса
Код: Выделить всё
netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 3248 0 0 0 1053 0 0 0 BMRU
eth1 1500 0 0 0 0 63 0 0 0 BMRU
lo 65536 1040159 0 0 0 1040159 0 0 0 LRU
tun0 1500 0 0 0 0 3 0 0 0 MOPRUверсия флагов, которые печатает ifconfig:
B - Установлен широковещательный адрес.
L - Этот интерфейс задает устройство loopback.
M - Интерфайс получает все пакеты (режим promiscuous).
O - ARP выключен для этого интерфейса.
P - Это соединение point-to-point.
R - Интерфейс работает.
U - Интерфейс активен.
Отображение соединений
netstat поддерживает множество опций для отображения активных и пассивных соединений. Опции -t, -u, -w и -x
показывают активные TCP, UDP, RAW или UNIX соединения. Если вы зададите параметр -a, сокеты, которые ждут
соединения (то есть, слушают сеть), также показываются. Это даст вам список всех серверов, которые
в настоящее время работают в вашей системе.
netstat -ta
Код: Выделить всё
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1863/mysqld
tcp 0 0 192.168.1.254:139 0.0.0.0:* LISTEN 1759/smbd
tcp 0 0 195.0.1.15:110 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 192.168.1.254:110 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 195.0.1.15:143 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 192.168.1.254:143 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 192.168.1.254:80 0.0.0.0:* LISTEN 1575/httpd
tcp 0 0 195.0.1.15:80 0.0.0.0:* LISTEN 1575/httpd
tcp 0 0 195.0.1.15:465 0.0.0.0:* LISTEN 1789/master
tcp 0 0 127.0.0.1:465 0.0.0.0:* LISTEN 1789/master
tcp 0 0 192.168.1.254:465 0.0.0.0:* LISTEN 1789/master
tcp 0 0 192.168.1.254:53 0.0.0.0:* LISTEN 1168/named
tcp 0 0 195.0.1.15:53 0.0.0.0:* LISTEN 1168/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1168/named
tcp 0 0 195.0.1.15:22 0.0.0.0:* LISTEN 1093/sshd
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2139/rphost
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1918/postmaster
tcp 0 0 195.0.1.15:25 0.0.0.0:* LISTEN 1789/master
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1789/master
tcp 0 0 192.168.1.254:25 0.0.0.0:* LISTEN 1789/master
tcp 0 0 0.0.0.0:953 0.0.0.0:* LISTEN 1168/named
tcp 0 0 192.168.1.254:443 0.0.0.0:* LISTEN 1575/httpd
tcp 0 0 195.0.1.15:443 0.0.0.0:* LISTEN 1575/httpd
tcp 0 0 192.168.1.254:445 0.0.0.0:* LISTEN 1759/smbd
tcp 0 0 195.0.1.15:993 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 192.168.1.254:993 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 195.0.1.15:995 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 192.168.1.254:995 0.0.0.0:* LISTEN 1123/dovecot
tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2045/ragent
tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2071/rmngr
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 1085/snmpd
tcp 0 0 195.0.1.15:1541 195.0.1.15:38802 ESTABLISHED 2071/rmngr
tcp 0 0 195.0.1.15:1541 195.0.1.15:38682 ESTABLISHED 2071/rmngr
tcp 0 0 195.0.1.15:1541 195.0.1.15:38544 ESTABLISHED 2071/rmngr
tcp 0 0 195.0.1.15:1541 195.0.1.15:38546 ESTABLISHED 2071/rmngr
tcp 0 0 195.0.1.15:38550 195.0.1.15:1541 ESTABLISHED 2045/ragent
tcp 0 0 195.0.1.15:1541 195.0.1.15:38556 ESTABLISHED 2071/rmngr
tcp 1 0 127.0.0.1:46512 127.0.0.1:3306 CLOSE_WAIT 2093/radiusd
tcp 0 0 195.0.1.15:1541 195.0.1.15:38550 ESTABLISHED 2071/rmngr
tcp 0 0 195.0.1.15:51880 195.0.1.15:5432 TIME_WAIT -
tcp 1 0 127.0.0.1:46514 127.0.0.1:3306 CLOSE_WAIT 2093/radiusd
tcp 0 0 195.0.1.15:38744 195.0.1.15:1541 TIME_WAIT -
tcp 1 0 127.0.0.1:46506 127.0.0.1:3306 CLOSE_WAIT 2093/radiusd
tcp 0 0 195.0.1.15:38544 195.0.1.15:1541 ESTABLISHED 2139/rphost
tcp 1 0 127.0.0.1:46510 127.0.0.1:3306 CLOSE_WAIT 2093/radiusd
tcp 0 0 195.0.1.15:38682 195.0.1.15:1541 ESTABLISHED 2139/rphost
tcp 1 0 127.0.0.1:46508 127.0.0.1:3306 CLOSE_WAIT 2093/radiusd
tcp 0 0 195.0.1.15:38802 195.0.1.15:1541 ESTABLISHED 2045/ragent
tcp 0 0 195.0.1.15:1560 195.0.1.15:40304 ESTABLISHED 2139/rphost
tcp 0 52 195.0.1.15:22 195.0.1.3:4494 ESTABLISHED 1177/sshd: root@pts
tcp 0 0 195.0.1.15:1560 195.0.1.15:40302 ESTABLISHED 2139/rphost
tcp 0 0 195.0.1.15:40302 195.0.1.15:1560 ESTABLISHED 2045/ragent
tcp 0 0 195.0.1.15:38546 195.0.1.15:1541 ESTABLISHED 2139/rphost
tcp 0 0 195.0.1.15:38556 195.0.1.15:1541 ESTABLISHED 2139/rphost
tcp 0 0 195.0.1.15:51882 195.0.1.15:5432 TIME_WAIT -
tcp 0 0 195.0.1.15:40304 195.0.1.15:1560 ESTABLISHED 2071/rmngrХотя netstat считается устаревшим, он по-прежнему остаётся полезным для диагностики сетевых подключений и служб в Fedora.
Для новых систем рекомендуется использовать команду ss, обеспечивающую более высокую скорость и поддержку современных протоколов.