6

Я схожу с ума от команды netstat .
В человеке мы можем прочитать, что в выводе Active Internet Connections (TCP, UDP, raw) мы должны иметь:

Пользователь: имя пользователя или идентификатор пользователя (UID) владельца сокета.

Но, когда я делаю

netstat -natp

мой вывод не показывает владельца (или UID)

Active Internet connections (servers and established)  
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 0.0.0.0:4713            0.0.0.0:*               LISTEN      2159/pulseaudio  
(...)

и я не вижу никакой опции в человеке, чтобы отобразить владельца PID.

Есть --numeric-users , но она ничего не меняет.

Я что-то упускаю? Или что-то не так с netstat?
Есть ли другой способ получить эту информацию?

Спасибо за вашу помощь :)

2 ответа2

9

Используйте netstat -natpe .

Со страницы руководства:

-e, --extend
 Display additional information.  Use this option twice for maximum detail.

Как ясно, как грязь.

Который добавит две колонки, User и Inode на дисплей.

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode      PID/Program name
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      100        13119      1901/mysqld
4

В качестве альтернативы вы можете использовать lsof -i который показывает вам пользователя.

COMMAND     PID    USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd     32500  apache    4u  IPv6   14390      0t0  TCP *:http (LISTEN)
httpd     32501  apache    4u  IPv6   14390      0t0  TCP *:http (LISTEN)
httpd     32502  apache    4u  IPv6   14390      0t0  TCP *:http (LISTEN)
httpd     32503  apache    4u  IPv6   14390      0t0  TCP *:http (LISTEN)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .