Как получить информацию о порте / сокете от kstat в Solaris

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

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

2 ответа

На Solaris 11.2 вы можете использовать netstat -u чтобы получить эту информацию. По справочной странице:

-u

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

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

Также посмотрите, какой процесс прослушивает определенный порт в Solaris?

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

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

Другие вопросы по тегам