Linux Tools: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
  +
[[Категория:Linux]]
  +
[[Категория:Полезное]]
  +
[[Категория:Tools]]
  +
[[Категория:Utils]]
 
=Linux Tools=
 
=Linux Tools=
 
Заметка про разные утилиты про которые часто забываю
 
Заметка про разные утилиты про которые часто забываю
Строка 27: Строка 31:
 
=<code>whowatch</code>=
 
=<code>whowatch</code>=
 
Смотреть дерево процессов по пользователям
 
Смотреть дерево процессов по пользователям
  +
  +
=<code>sysdig</code>=
  +
Смотреть что происходит в системе - как <code>strace</code>
  +
<PRE>
  +
# modprobe sysdig-probe
  +
</PRE>
  +
Запуск без параметров - все процессы
  +
<PRE>
  +
7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 vm_size=58812 vm_rss=19932 vm_swap=0
  +
8 14:31:16.643824272 0 <NA> (0) > switch next=12362(sysdig) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0
  +
24 14:31:16.644003834 0 sysdig (12362) > switch next=12363(less) pgft_maj=0 pgft_min=1262 vm_size=58812 vm_rss=19932 vm_swap=0
  +
25 14:31:16.644010385 0 less (12363) < read res=117 data=7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 v
  +
26 14:31:16.644038715 0 less (12363) > write fd=1(<f>/dev/pts/5) size=117
  +
27 14:31:16.644055333 0 less (12363) > switch next=10430 pgft_maj=3 pgft_min=206 vm_size=6576 vm_rss=2348 vm_swap=0
  +
28 14:31:16.644065687 0 <NA> (10430) > switch next=9032(mc) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0
  +
29 14:31:16.644075709 0 mc (9032) < pselect6
  +
30 14:31:16.644081373 0 mc (9032) > read fd=6(<f>/dev/ptmx) size=128
  +
</PRE>
  +
  +
* evt.num — номер события;
  +
* evt.time — время события;
  +
* evt.cpu — номер процессора;
  +
* proc.name — имя процесса;
  +
* thread.tid — номер потока;
  +
* evt.dir — направление события (< входящие, > исходящие процессы);
  +
* evt.type — тип события;
  +
* evt.args — аргументы события.
  +
  +
У однопотоковых процессов номер потока (thread.tid) будет такой же как и номер процесса (proc.name). Неотфильтрованный вывод запущенной в работу утилиты имеет следующий формат:
  +
<PRE>
  +
%evt.num %evt.time %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.args
  +
</PRE>
  +
  +
Можно фильтровать
  +
<PRE>
  +
sysdig proc.name = nginx and evt.cpu = 0
  +
</PRE>
  +
Список фильтров:
  +
<PRE>
  +
sysdig -l
  +
</PRE>
  +
фильт по процессу и типу события
  +
<PRE>
  +
sysdig proc.name = nginx and evt.type = write
  +
</pre>
  +
выводить только клиентский IP
  +
<PRE>
  +
sysdig proc.name = nginx -p %fd.cip
  +
127.0.0.1
  +
</PRE>
  +
== chisels==
  +
Это готовые скрипты, например
  +
<PRE>
  +
sysdig -c spy_users
  +
1684 14:40:02 root) ls --color=auto
  +
</PRE>
  +
или
  +
<PRE>
  +
sysdig -c topconns
  +
Bytes Proto Conn
  +
--------------------------------------------------------------------------------
  +
304B tcp 192.168.22.253:62068->10.90.1.104:22
  +
</PRE>
  +
Полный список <code>sysdig -cl</code>
  +
  +
==<code> csysdig </code>==
  +
<code>csysdig</code> - визуализация в стиле htop
  +
  +
  +
=ip_compact=
  +
Что бы руками не считать сети - https://github.com/x-way/ip_compact
  +
  +
=совместная работа в терминале=
  +
* ttyd
  +
* gotty
  +
* tmate (https://github.com/tmate-io)
  +
  +
=Поиск скрытых процессов и руткитов=
  +
* unhide
  +
* prochunter (git clone https://gitlab.com/nowayout/prochunter.git; make) -- https://sysadmin.pm/prochunter/

Текущая версия на 11:35, 18 марта 2024

Linux Tools

Заметка про разные утилиты про которые часто забываю


ioping

ioping /test/vdb/ -c 10
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=1 time=2.16 ms (warmup)
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=2 time=3.39 ms
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=3 time=2.13 ms
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=4 time=2.48 ms
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=5 time=1.75 ms
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=6 time=1.97 ms
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=7 time=1.76 ms (fast)
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=8 time=1.79 ms (fast)
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=9 time=1.97 ms
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=10 time=2.98 ms


nethogs

Показывает наиболее активные сетевые соединения (примерно как top)

apt install nethogs

whowatch

Смотреть дерево процессов по пользователям

sysdig

Смотреть что происходит в системе - как strace

# modprobe sysdig-probe

Запуск без параметров - все процессы

7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 vm_size=58812 vm_rss=19932 vm_swap=0
8 14:31:16.643824272 0 <NA> (0) > switch next=12362(sysdig) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0
24 14:31:16.644003834 0 sysdig (12362) > switch next=12363(less) pgft_maj=0 pgft_min=1262 vm_size=58812 vm_rss=19932 vm_swap=0
25 14:31:16.644010385 0 less (12363) < read res=117 data=7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 v
26 14:31:16.644038715 0 less (12363) > write fd=1(<f>/dev/pts/5) size=117
27 14:31:16.644055333 0 less (12363) > switch next=10430 pgft_maj=3 pgft_min=206 vm_size=6576 vm_rss=2348 vm_swap=0
28 14:31:16.644065687 0 <NA> (10430) > switch next=9032(mc) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0
29 14:31:16.644075709 0 mc (9032) < pselect6
30 14:31:16.644081373 0 mc (9032) > read fd=6(<f>/dev/ptmx) size=128
  • evt.num — номер события;
  • evt.time — время события;
  • evt.cpu — номер процессора;
  • proc.name — имя процесса;
  • thread.tid — номер потока;
  • evt.dir — направление события (< входящие, > исходящие процессы);
  • evt.type — тип события;
  • evt.args — аргументы события.

У однопотоковых процессов номер потока (thread.tid) будет такой же как и номер процесса (proc.name). Неотфильтрованный вывод запущенной в работу утилиты имеет следующий формат:

%evt.num %evt.time %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.args

Можно фильтровать

sysdig proc.name = nginx and evt.cpu = 0

Список фильтров:

sysdig -l

фильт по процессу и типу события

sysdig proc.name = nginx and evt.type = write

выводить только клиентский IP

sysdig proc.name = nginx -p %fd.cip
127.0.0.1

chisels

Это готовые скрипты, например

sysdig -c spy_users
1684 14:40:02 root) ls --color=auto

или

sysdig -c topconns
Bytes               Proto               Conn
--------------------------------------------------------------------------------
304B                tcp                 192.168.22.253:62068->10.90.1.104:22

Полный список sysdig -cl

csysdig

csysdig - визуализация в стиле htop


ip_compact

Что бы руками не считать сети - https://github.com/x-way/ip_compact

совместная работа в терминале

Поиск скрытых процессов и руткитов