Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
howto:utils:netstat [2015/06/28 15:41] Алексей Кожевников |
howto:utils:netstat [2019/01/17 14:07] (текущий) Алексей Кожевников ↷ Страница перемещена из howto:netstat в howto:utils:netstat |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
===== Примеры: ===== | ===== Примеры: ===== | ||
+ | ==== Количество соединений ==== | ||
+ | <code>netstat -ant| awk '{print $4}' | grep ":80$" -c</code> | ||
+ | |||
==== netstat -lnptux ==== | ==== netstat -lnptux ==== | ||
- | * -lвсе открытые порты (LISTEN) | + | * -l все открытые порты (LISTEN) |
- | * -tпо протоколу TCP | + | * -t по протоколу TCP |
- | * -uпо протоколу UDP | + | * -u по протоколу UDP |
- | * -xпо протоколу UNIX Socket | + | * -x по протоколу UNIX Socket |
- | * -nбез резолва IP/имён | + | * -n без резолва IP/имён |
- | * -pно с названиями процессов и PID-ами | + | * -p но с названиями процессов и PID-ами |
Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё. | Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё. | ||
+ | ==== Соответствие портов и процессов ==== | ||
- | ===== Список всех портов (как прослушиваемых, так и нет) ===== | + | Узнать, какой порт занимает определённая программа: |
+ | <code> | ||
+ | # netstat -ap | grep ssh | ||
+ | </code> | ||
+ | |||
+ | Выяснить, каким процессом используется определённый порт: | ||
+ | <code> | ||
+ | # netstat -an | grep ':80' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Параметры ===== | ||
+ | |||
+ | ==== Список всех портов (как прослушиваемых, так и нет) ==== | ||
Перечислить все порты: **netstat -a** | Перечислить все порты: **netstat -a** | ||
Строка 32: | Строка 49: | ||
</code> | </code> | ||
- | Перечислить все TCP порты: **netstat -at** | + | ==== Список сокетов, находящихся в состоянии LISTEN ==== |
- | + | ||
- | + | ||
- | Перечислить все UDP порты: **netstat -au** | + | |
- | + | ||
- | + | ||
- | ===== Список сокетов, находящихся в состоянии LISTEN ===== | + | |
Перечислить все прослушиваемые порты: **netstat -l** | Перечислить все прослушиваемые порты: **netstat -l** | ||
Строка 52: | Строка 63: | ||
- | ===== Просмотр статистики для каждого протокола ===== | + | ==== Просмотр статистики для каждого протокола ==== |
Показать статистику всех портов: **netstat -s** | Показать статистику всех портов: **netstat -s** | ||
Строка 77: | Строка 88: | ||
</code> | </code> | ||
- | Показать статистику только TCP портов: **netstat -st** | + | ==== Отображение PID и имени процесса в выводе netstat ==== |
- | + | ||
- | + | ||
- | Показать статистику только UDP портов: **netstat -su** | + | |
- | + | ||
- | + | ||
- | ===== Отображение PID и имени процесса в выводе netstat ===== | + | |
Опция **netstat -p** добавит «PID/Program Name» в вывод netstat, и может быть совмещена с любым другим набором опций. Это очень полезно при отладке, для определения того, какая программа работает на определённом порту. | Опция **netstat -p** добавит «PID/Program Name» в вывод netstat, и может быть совмещена с любым другим набором опций. Это очень полезно при отладке, для определения того, какая программа работает на определённом порту. | ||
- | ===== Разрешение имён в выводе netstat ===== | + | ==== Разрешение имён в выводе netstat ==== |
Когда вам не нужно резолвить имя хоста, имя порта, имя пользователя, используйте опцию **netstat -n** для вывода значений в цифровом формате. Команда покажет IP-адрес вместо хоста, номер порта вместо имени порта, UID вместо имени пользователя. | Когда вам не нужно резолвить имя хоста, имя порта, имя пользователя, используйте опцию **netstat -n** для вывода значений в цифровом формате. Команда покажет IP-адрес вместо хоста, номер порта вместо имени порта, UID вместо имени пользователя. | ||
Строка 102: | Строка 107: | ||
</code> | </code> | ||
- | ===== Вывод информации netstat непрерывно ===== | + | ==== Вывод информации netstat непрерывно ==== |
Опция **netstat -c** будет выводить информацию непрерывно, в стиле **top**, обновляя экран каждые несколько секунд. | Опция **netstat -c** будет выводить информацию непрерывно, в стиле **top**, обновляя экран каждые несколько секунд. | ||
Строка 115: | Строка 120: | ||
</code> | </code> | ||
- | ===== Неподдерживаемые системой семейства адресов ===== | + | ==== Маршрутизация ядра ==== |
- | + | ||
- | Опция **netstat –verbose** покажет подробный вывод, а в самом конце отобразит неподдерживаемые Address Family. | + | |
- | <code> | + | |
- | netstat: no support for `AF IPX' on this system. | + | |
- | netstat: no support for `AF AX25' on this system. | + | |
- | netstat: no support for `AF X25' on this system. | + | |
- | netstat: no support for `AF NETROM' on this system. | + | |
- | </code> | + | |
- | + | ||
- | ===== Маршрутизация ядра ===== | + | |
Показать таблицу маршрутизации ядра: **netstat -r** | Показать таблицу маршрутизации ядра: **netstat -r** | ||
- | ===== Соответствие портов и процессов ===== | + | ==== Сетевые интерфейсы ==== |
- | + | ||
- | Узнать, какой порт занимает определённая программа: | + | |
- | + | ||
- | <code> | + | |
- | # netstat -ap | grep ssh | + | |
- | </code> | + | |
- | + | ||
- | Выяснить, каким процессом используется определённый порт: | + | |
- | + | ||
- | <code> | + | |
- | # netstat -an | grep ':80' | + | |
- | </code> | + | |
- | + | ||
- | ===== Сетевые интерфейсы ===== | + | |
Показать список сетевых интерфейсов: **netstat -i** | Показать список сетевых интерфейсов: **netstat -i** | ||
Строка 150: | Строка 131: | ||
# netstat -i | # netstat -i | ||
Kernel Interface table | Kernel Interface table | ||
- | Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg | + | Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg |
- | eth0 1500 0 1911037 0 0 0 1382056 0 0 0 BMRU | + | eth0 1500 0 264355 0 0 0 218185 0 0 0 BMRU |
- | lo 16436 0 0 0 0 0 0 0 0 0 LRU | + | lo 65536 0 195328 0 0 0 195328 0 0 0 LRU |
</code> | </code> | ||
Показать расширенную информацию об интерфейсах (аналогично ifconfig): **netstat -ie** | Показать расширенную информацию об интерфейсах (аналогично ifconfig): **netstat -ie** | ||
+ | ==== Неподдерживаемые системой семейства адресов ==== | ||
- | ===== netstat -lnptux ===== | + | Опция **netstat --verbose** покажет подробный вывод, а в самом конце отобразит неподдерживаемые Address Family. |
- | + | <code> | |
- | Резюмируем вышеописанное и объединим ключи в одну полезную команду, которая покажет: | + | # netstat --verbose |
- | + | ... | |
- | * -lвсе открытые порты (LISTEN) | + | netstat: no support for `AF IPX' on this system. |
- | * -tпо протоколу TCP | + | netstat: no support for `AF AX25' on this system. |
- | * -uпо протоколу UDP | + | netstat: no support for `AF X25' on this system. |
- | * -xпо протоколу UNIX Socket | + | netstat: no support for `AF NETROM' on this system. |
- | * -nбез резолва IP/имён | + | </code> |
- | * -pно с названиями процессов и PID-ами | + | |
- | + | ||
- | Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё. | + | |
Source: http://putty.org.ru/articles/netstat-linux-examples.html | Source: http://putty.org.ru/articles/netstat-linux-examples.html | ||
+ | |||
+ | {{tag> netstat linux port net network}} |