TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #616 606
Проверка доступности локальных Unix-сервисов: nc -U и curl --unix-socket

Не все сервисы в Linux слушают TCP-порты. Многие приложения работают только через UNIX-сокеты - локальные каналы связи между процессами.

Например:

/run/docker.sock
/run/php/php-fpm.sock
/run/containerd/containerd.sock


Снаружи такие сервисы не видны через обычный nmap, но внутри системы они могут иметь важное значение.

▪️Найти активные UNIX-сокеты

ss -xl


Пример:

u_str LISTEN 0 128 /run/docker.sock


Теперь можно проверить, отвечает ли сервис.

▪️Проверка через nc

Netcat умеет подключаться к UNIX-сокетам:

nc -U /run/docker.sock


Если соединение установлено - сокет доступен.

Для HTTP-сервисов можно отправить запрос вручную:

printf "GET / HTTP/1.0\r\n\r\n" | nc -U /run/service.sock


▪️Проверка HTTP API через curl

Многие локальные API работают через UNIX-сокеты:

curl --unix-socket /run/docker.sock http://localhost/version


Здесь localhost не используется как сетевой адрес - он нужен только для формирования HTTP-запроса.

▪️Пример с Docker

Вместо:

docker version


можно напрямую обратиться к API:

curl --unix-socket /var/run/docker.sock \
http://localhost/_ping


Ответ:

OK


означает, что Docker daemon доступен.

▪️Проверка прав доступа

Даже если сервис работает, доступ может быть ограничен:

ls -l /run/docker.sock


Например:

srw-rw---- root docker docker.sock


Только пользователи группы docker смогут подключиться.

▪️Почему это важно

UNIX-сокеты часто остаются вне стандартного мониторинга. Администратор проверяет открытые порты, но забывает про локальные API и IPC-каналы.

Проверка через ss, nc -U и curl --unix-socket помогает быстро понять:
жив ли сервис;
кто имеет к нему доступ;
отвечает ли локальное API;
нет ли неожиданного открытого канала между процессами.

BashTex 📱 #sort
  • 👍 3
More from @bash_tex
  1. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  2. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  3. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  4. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  5. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  6. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →