Как получить информацию о порте / сокете от kstat в Solaris
Можно ли использовать kstat для получения информации о том, какие процессы имеют какие порты открыты? Я посмотрел, как это делает lsof и, по-видимому, они читают энергозависимую память ядра, к которой, кажется, kstat предоставляет доступ (пожалуйста, исправьте меня, если я ошибаюсь).
Мне просто интересно, если кто-нибудь знает, как фильтровать kstat для отображения информации о том, какие процессы открыт порт. Возможно, какой модуль я должен посмотреть?
2 ответа
На Solaris 11.2 вы можете использовать netstat -u
чтобы получить эту информацию. По справочной странице:
-u
Перечисляет пользователя, идентификатор процесса и программу, которая первоначально создала конечную точку сети или контролирует ее сейчас.
В более ранних версиях Solaris нет простого способа - вы можете использовать pfiles
до некоторой степени, но его полезность для идентификации сокетов ограничена.
Также посмотрите, какой процесс прослушивает определенный порт в Solaris?
Нет, kstat
не хранит информацию об уровне процесса. Более того, kstat
не дает доступа к энергозависимой памяти ядра, а только к конкретной статистике ядра.
Наконец, вы не должны были начинать новый вопрос вместо того, чтобы следовать здесь.