Шпаргалка: ss, ps и lsof для сети и процессов в Linux

0
13
Обложка статьи: Шпаргалка: ss, ps и lsof для сети и процессов в Linux

Справочник к статье какие порты открыты в Linux. Команда ss заменила устаревший netstat и работает быстрее. Для просмотра процессов других пользователей нужен sudo.

Сокеты и порты (ss)

Команда Что делает
ss -tulpn Слушающие TCP и UDP порты с процессами
ss -tlnp Только TCP в состоянии LISTEN
ss -tnp state established Установленные TCP-соединения
ss -tnp dport = :443 Соединения на удалённый порт 443
ss -tn src :22 Кто подключён к локальному порту 22
ss -s Сводка по сокетам

Адрес 127.0.0.1:порт означает, что сервис доступен только с самого хоста; 0.0.0.0 или * — со всех интерфейсов.

Кто держит порт или файл

Команда Что делает
lsof -i :8080 Процесс, использующий порт
lsof -i -P -n Все сетевые соединения без разрешения имён
lsof +D /var/log Процессы, открывшие файлы каталога
lsof -p PID Что открыто у процесса
fuser -v /mnt/disk Кто мешает размонтировать диск

Процессы

Команда Что делает
ps auxf Все процессы деревом
ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu | head Топ по CPU
ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem | head Топ по памяти
pstree -p Дерево процессов с PID
cat /proc/PID/cmdline | tr '\0' ' ' Полная командная строка процесса
ls -l /proc/PID/exe Какой файл запущен (удалён ли он)

Службы и журналы

Команда Что делает
systemctl status nginx Состояние службы и последние строки журнала
systemctl list-units --failed Упавшие службы
journalctl -u nginx --since "10 min ago" Журнал службы
journalctl -p err -b Ошибки с последней загрузки

Что считать подозрительным

  • Неизвестный процесс слушает порт на 0.0.0.0.
  • Соединения на неизвестные внешние адреса от системных служб.
  • Процесс запущен из /tmp, /dev/shm или удалённого файла ((deleted) в /proc/PID/exe).

Найденное сопоставьте с ожидаемым списком портов сервера и проверьте снаружи: Nmap. Если подозрение подтвердилось: первые 24 часа инцидента.

Оставьте свой ответ