Есть ли команда для вывода списка всех открытых в данный момент абстрактных сокетов unix?

Мне удалось решить эту проблему следующим образом: :отредактировал «s» вместо «https» в соответствующем файле, содержащемся в списке источников. И смог запустить sudo apt -получить обновление как обычно.

0
17.07.2020, 05:21
1 ответ

Абстрактные сокеты

Их имя пути начинается с символов NUL, что делает их длину пути равной 0. Они могут использовать оставшиеся 107 символов для определения уникального идентификатора, который другие программы могут использовать для подключения. они не представлены в файловой системе.

Большинство Unix поставляется с командой lsof (list of open files ). Если нет, вы можете легко добавить его.

lsof -U

upowerd   1604       root    5u  unix 0xffff88005af5f400      0t0 18631 type=STREAM
colord    1614     colord   10u  unix 0xffff880034d3f400      0t0 18170 type=STREAM
systemd   2009       root   13u  unix 0xffff88005a293000      0t0 21213 /run/user/0/systemd/notify type=DGRAM
systemd   2009       root   14u  unix 0xffff88005a293c00      0t0 21214 /run/user/0/systemd/private type=STREAM

В Linux при отображении путей к абстрактным пространствам имен нулевые байты преобразуются в @. Старые версии инструментов могут неправильно обрабатывать нулевые байты

.
upstart   1525    lightdm    7u  unix 0xffff880034b99800      0t0 17301 @/com/ubuntu/upstart-session/111/1525 type=STREAM

Вы сможете перечислить все сокеты домена unix в вашей системе.

Команда 'ss' также может отображать сокеты и абстрактные сокеты. снова абстрактные сокеты будут иметь префикс @

Удачи!

1
18.03.2021, 23:19

Теги

Похожие вопросы