URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 107320
[ Назад ]

Исходное сообщение
"Выпуск системы динамической отладки SystemTap 3.0"

Отправлено opennews , 29-Мрт-16 00:57 
Состоялся (hhttps://sourceware.org/ml/systemtap/2016-q1/msg00179.html) релиз системы динамической трассировки SystemTap 3.0 (http://sourceware.org/systemtap/), предоставляющий для платформы Linux средства похожие на технологию DTrace. SystemTap позволяет организовать доскональное наблюдение за работающей Linux системой, производить сбор статистики о работе приложений, профилирование и контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев (http://sourceware.org/systemtap/documentation.html). Система протестирована с ядрами Linux начиная с версии 2.6.18 и заканчивая 4.6.0-rc0.

В развитии проекта участвуют такие компании как  Red Hat, IBM, Intel, Hitachi и Oracle. В каталоге примеров (http://sourceware.org/systemtap/examples/keyword-index.html) представлено более 150 скриптов на все случаи жизни, подходящие для слежения за распределением памяти, вводом/выводом, дисковыми операциями, сетевым трафиком (например, анализ работы NFS), работой планировщика задач, обработкой прерываний, использованием системных буферов, установкой блокировок, выполнением системных вызовов, обработкой сигналов и т.п.

В новой версии представлен экспериментальный интерактивный консольный интерфейс, вызываемый через "stap -i" и позволяющий собирать, запускать и редактировать скрипты. Также добавлен экспериментальный режим мониторинга ("--monitor") для наблюдения за текущей статистикой о запущенных модулях в стиле утилиты top.  Число примеров скриптов доведено до 156, добавлены скрипты для отслеживания локальных источников отправки сетевых пакетов и
скрипты с примерами (https://securityblog.redhat.com/2015/06/03/emergency-securit... проверки  различных уязвимостей.

В языке создания скриптов оптимизирована работа с ассоциативными массивами и добавлена поддержка перегрузки функций (https://ru.wikipedia.org/wiki/%D0%9F%D0%.... Во встраиваемых функциях и блоках на языке СИ добавлена возможность доступа к глобальны переменным скриптов. Добавлена поддержка приватных переменных и функций, ограниченных текущим tapset-файлом.

URL: https://sourceware.org/ml/systemtap/2016-q1/msg00179.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=44123


Содержание

Сообщения в этом обсуждении
"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 00:57 
Чем оно отличается от strace ?

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 02:32 
Принципом работы. Strace просто показывает перехваченные через ptrace сисколлы. Stap же позволяет писать скрипты, которые транслируются в си, загружаются в виде модулей в ядро и смотреть, что происходит в системе, изнутри с произвольным уровнем подробностей.

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 03:19 
круто)

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноим , 29-Мрт-16 13:49 
В теории. На практике че-то у меня дальше того же самого, что умеет stace не пошло.
Хотя, к неосиляторам я себя не отношу ))

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено kachsheev , 29-Мрт-16 01:26 
> SystemTrap

Fix


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Андрей , 29-Мрт-16 05:03 
Лучше бы они выбрали какой-нибудь определённый язык для скриптов из существующих, а не велосипедный. Или вообще сделали бы хороший C-API.

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено anonymous , 29-Мрт-16 08:21 
Зачем, у них весьма простенький DSL.

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено DmA , 29-Мрт-16 10:13 
а что можно использовать для отладки в windows?

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 10:24 
Это зависит от того что вы собрались отлаживать. Можно обычный дебаггер использовать (если есть исходники), можно какой-нить Dr. Memory (это аналог valgrind), системные сообщения окнам можно смотреть через древнющие (но вполне рабочие) winsight и аналоги, сетевой трафик можно анализировать с помощью wireshark и т.д. Даже ProcessExplorer вполне помогает с отладкой. Про всякие драйверы и отладку на уровне ядра не в курсе... но тут всегда можно по старинке через логи.

Определитесь с задачей.


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено DmA , 29-Мрт-16 11:06 
задача такая - В виндовс включён брандмауэр в расширенной безопасности - все входящие и все исходящие подключения запрещены. Затем разрешается выйти в Интернет DNS клиенту и какому-нибудь браузеру. То есть, выходить в Интернет всем остальным приложениям запрещено. Но эти приложениям всё равно разрешено дёргать DNS клиент своими дурацкими запросами. И непонятно от каких программ эти запросы поступают.Хотелось бы знать даже какие службы или задачи Виндовс делают днс запросы, чтобы потом или покопаться в настройках этой службы или прописать в hosts файл эти дурацкие запросы. Периодические опросы dns службы мне кажется дают информацию владельцам тех же зон Микрософт много информации  о том что установлено на компьютере за ОС и возможно другие программы Микрософт тоже через днс запросы.
Или как вариант программу журналирования, которая позволяла бы видеть какая программа делает днс запросы к днс клиенту.Есть куча программ, которая в онлайн видит сетевые коннекты тех или иных программ, но интересно видеть всё- через журналирование от каких программ поступили те или иные запросы к днс. Сейчас у меня две семёрки стоят рядом -одна windows 7 64 бит , а на второй Centos 7 с wireshark. Через wireshark я вижу эти запросы днс, но от какой они точно программы вышли не знаю. То есть, нужен отладчик уровня системных вызовов к сетевым сервисам windows

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 11:52 
> Через wireshark
> я вижу эти запросы днс, но от какой они точно программы
> вышли не знаю. То есть, нужен отладчик уровня системных вызовов к
> сетевым сервисам windows

Может помочь мониторинг системных вызовов к Ws2_32.dll. Но для этого нужно запустить под трейсером/профайлером (допустим под Dr.Memory) конкретный exe-шник.

Виндовый netstat наверное ничего не успеет (он тормоз, а тут короткоживущие UDP запросы). А вот tcpvcon.exe/tcpview.exe из SysInternals может помочь (не пробовал, но наверное наиболее подходящее).


P.S. Вообще в винде предусмотрено много таких средств мониторинга (и даже ограничения активности), ими активно пользуются антивирусы и файерволлы. Может какой-то из навороченных файерволлов сможет помониторить DNS-запросы.


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено DmA , 29-Мрт-16 12:15 

> Может помочь мониторинг системных вызовов к Ws2_32.dll. Но для этого нужно запустить
> под трейсером/профайлером (допустим под Dr.Memory) конкретный exe-шник.
> Виндовый netstat наверное ничего не успеет (он тормоз, а тут короткоживущие UDP
> запросы). А вот tcpvcon.exe/tcpview.exe из SysInternals может помочь (не пробовал, но
> наверное наиболее подходящее).
> P.S. Вообще в винде предусмотрено много таких средств мониторинга (и даже ограничения
> активности), ими активно пользуются антивирусы и файерволлы. Может какой-то из навороченных
> файерволлов сможет помониторить DNS-запросы.

Спасибо за обстоятельные ответы, буду искать подходящее решение!


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено nonymous , 29-Мрт-16 17:39 
>> Через wireshark
>> я вижу эти запросы днс, но от какой они точно программы
>> вышли не знаю. То есть, нужен отладчик уровня системных вызовов к
>> сетевым сервисам windows
> Может помочь мониторинг системных вызовов к Ws2_32.dll. Но для этого нужно запустить
> под трейсером/профайлером (допустим под Dr.Memory) конкретный exe-шник.
> Виндовый netstat наверное ничего не успеет (он тормоз, а тут короткоживущие UDP
> запросы). А вот tcpvcon.exe/tcpview.exe из SysInternals может помочь (не пробовал, но
> наверное наиболее подходящее).

procmon + фильтры.


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено DmA , 30-Мрт-16 09:21 
> procmon + фильтры.

procmon интересная штука, странно, что я ей раньше не пользовался, беру в арсенал.Спасибо. На виндовс 7 работает, а вот почему -то на виндовс 10 не стартует, но ничего и не сообщает.Прочитать лицензию дала. и тишина



"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено azcore , 29-Мрт-16 23:52 
можно попробовать messsage analyzer

https://blogs.technet.microsoft.com/messageanalyzer/2015/06/.../


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 10:15 
мм интересно, надо попробовать, мне ещё `perf` нравится, тоже на dtrace похож, только с блекджеком и вот этим вот всем

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 10:18 
Я так понимаю, что с помощью этой штуки получится отследить какие процессы что-то записывали в определенные каталоги ФС (или хотя бы открывали файлы на запись)? Ну например, процессы, которые записывали данные в /home/user/* и далее по иерархии.

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 10:24 
кстати auditd вроде тоже это все должен уметь

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено freehck , 29-Мрт-16 17:22 
Ну тут придётся иметь в виду, что тут потребуется отлавливать всех, кто открывает файлы на запись, иначе никак. Для файлового хранилища может немного увеличить время выполнения соответствующих системных вызовов. В принципе, всё, что нужно сделать - это выбрать нужный системный вызов. Первое, что приходит на ум по постановке задачи - это sys_open (2). Но может, автор найдёт для себя что-нибудь более подходящее. Может, ему хватит stat для какого-то начального анализа ситуации. Более подробно со списком системных вызовов можно ознакомиться например так:
% less ~/linux/linux-4.3.5/arch/x86/entry/syscalls/syscall_64.tbl
(предполагая, что в ~/linux/linux-4.3.5 лежат сырцы актуального в системе ядра)

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноим , 29-Мрт-16 13:51 
> Я так понимаю, что с помощью этой штуки получится отследить какие процессы
> что-то записывали в определенные каталоги ФС (или хотя бы открывали файлы
> на запись)? Ну например, процессы, которые записывали данные в /home/user/* и
> далее по иерархии.

Легко. Но для этого проще заюзать auditd


"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 14:44 
inotifywait -rm <каталог или файл>

"Выпуск системы динамической отладки SystemTap 3.0"
Отправлено Аноним , 29-Мрт-16 14:50 
хотя, нет, там имён процессов нет, только доступ