baltun
Администратор
- Сообщения
- 12.295
- Реакции
- 3.085
- Баллы
- 1.833
Все команды netstat, ss, netcat относится к сетевым утилитам и доступны по-умолчанию в большинстве linux-дистрибутивах.
netstat
Команда netstat умеет показывать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д.
Список всех открытых портов (TCP)
Список всех открытых портов (UDP)
Список только прослушиваемых портов (TCP)
Статистика по всем открытым портам
Подробное отображение списка с открытыми портами - добавлен PID и имя процессов
Объединим все ключи в полезную команду для просмотра открытых TCP/UDP портов с именами процессов (может понадобиться root-доступ)
Список подключенных хостов
ss
Утилита ss позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.
Список процессов, использующие соединения в данный момент
Список сокетов в режиме прослушивания
Пример фильтра - список всех соединений к порту 80
lsof
Утилита lsof умеет отображать процессы, которые работают с определенным файлом или сокетом.
Список всех сетевых соединений
Список процессов, работающих с портом 80
netcat
Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.
Шаблон вызова утилиты
Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.
Пример более полезного использования nc - передача файла. На принимающей стороне
netstat
Команда netstat умеет показывать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д.
Список всех открытых портов (TCP)
Код:
netstat -at
Список всех открытых портов (UDP)
Код:
netstat -au
Список только прослушиваемых портов (TCP)
Код:
netstat -lt
Статистика по всем открытым портам
Код:
netstat -s
Подробное отображение списка с открытыми портами - добавлен PID и имя процессов
Код:
netstat -p
Объединим все ключи в полезную команду для просмотра открытых TCP/UDP портов с именами процессов (может понадобиться root-доступ)
Код:
netstat -ltupn
Список подключенных хостов
Код:
netstat -lantp | grep ESTABLISHED |awk '{print $5}' | awk -F: '{print $1}' | sort -u
ss
Утилита ss позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.
Список процессов, использующие соединения в данный момент
Код:
ss -p
Список сокетов в режиме прослушивания
Код:
ss -l
Пример фильтра - список всех соединений к порту 80
Код:
ss -o state established '( dport = :www or sport = :www )'
lsof
Утилита lsof умеет отображать процессы, которые работают с определенным файлом или сокетом.
Список всех сетевых соединений
Код:
lsof -i
Список процессов, работающих с портом 80
Код:
lsof -i :80
netcat
Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.
Шаблон вызова утилиты
Код:
nc host port
Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.
Код:
nc -lvk 1234
Пример более полезного использования nc - передача файла. На принимающей стороне
Код:
nc -l 1234 > file