2015-08-06 3 views
1

Возможно ли использовать kstat для получения информации о том, какие процессы открывают порты? Я посмотрел, как это делается, и, по-видимому, они читают изменчивую память ядра, к которой, похоже, дает доступ kstat (пожалуйста, поправьте меня, если я ошибаюсь).Как получить информацию о порте/соке от kstat в Solaris

Мне просто интересно, знает ли кто, как фильтровать kstat для отображения информации о том, какие процессы открывает порт. Возможно, на каком модуле я должен смотреть?

ответ

2

В Solaris 11.2 вы можете использовать netstat -u для получения этой информации. Согласно man page:

-u

Списки пользователя, идентификатор процесса, и программа, которая первоначально создал сетевую конечную точку или контролирует его.

В более ранних версиях Solaris, нет простого способа - вы можете использовать pfiles в каком-то степени, но ее полезность в идентифицирующих гнездах ограничена.

Также см What process is listening on a certain port on Solaris?

+0

Да, это только 11,0 к сожалению. И pfiles не может быть и речи, потому что для выполнения требуется слишком много времени, а также тот факт, что он иногда может вызывать сбои, поскольку он должен их приостанавливать. – monkeygame7

1

Нет, kstat делает информацию не магазин уровня процесса. Кроме того, kstat не предоставляет доступ к нестабильной памяти ядра, а относится только к конкретной статистике ядра.

Наконец, вы не должны были начинать новый вопрос, а не следить за here.

+0

Это разные вопросы, другие - совсем не о kstat. Я имею в виду, что они пытаются сделать то же самое, но я спрашиваю о разных механизмах в каждом вопросе. – monkeygame7

 Смежные вопросы

  • Нет связанных вопросов^_^