Что такое u_dgr UNCONN, когда я запускаю ss -lnp | grep sshd

Я бегал ss -lnp | grep sshd и получил следующий вывод (в дополнение к портам LISTEN, которые я ожидал. Не уверен, что это так:

u_dgr  UNCONN 0  0  *78056  *12438  users:(("sshd",pid=22409, fd=4), ("sshd",pid=22337,fd=4)

Заранее спасибо за помощь в расшифровке этого.

1 ответ

Я пытался понять это. Ниже мои заметки:

u_dgr = u для UDS (сокет домена Unix). «Программы, работающие на одном сервере, также могут взаимодействовать друг с другом с помощью сокетов домена Unix (UDS). Сокеты домена Unix могут быть основаны на потоках или на основе дейтаграмм. ядро системы через файлы в файловой системе хоста. Чтобы отправлять или получать данные с использованием сокетов домена, программы читают и записывают в свой общий файл сокета, полностью минуя сетевые сокеты и протоколы" (src). dgr для дейтаграммы. Дейтаграмма противопоставляется str, что означает поток. dgr подобен UDP, а str подобен TCP для протоколов IP.

UNCONN = не подключен. То же, что Закрыто. Протоколы дейтаграмм не имеют состояния, поэтому ss всегда показывает такие соединения как UNCONN.

0 0 для recv-q и send-q. Показывает, сколько байтов в очереди. 0 означает, что в очереди нет байтов.

*78056 *12438 говорит, что программы, упомянутые в 'users:', используют любой адрес и порт 78056 для отправки данных на удаленный порт 12438 и любой адрес. Программа sshd использует порт 78056 для отправки журналов в systemd. журналы отправляются на порт 12438. Если вы ss -lxnp | grep 12438то вы увидите, что systemd прослушивает 12438.

В users:(("sshd",pid=22409, fd=4), ("sshd",pid=22337,fd=4)pid для идентификатора процесса. fd для файлового дескриптора. Вы можете проверить это с помощью ls -lh /proc/22409/fd/

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