Задать вопрос

Почему утилита host делает UDP запрос на 127.0.0.1 на произвольные порты?

Здравствуйте.

Debian 10
Брандмауэр Opensnitch 1.4.0rc3
Доменные имена были заменены или замазаны.

В сентябре 2021 делал запрос через утилиту host (/usr/bin/host) и после выполнения команды:

$ host -t txt _dmarc.domain.ru
Хост _dmarc.domain.ru не найден: 3(NXDOMAIN)

брандмауэр opensnitch блокирует UDP запрос с /usr/bin/host на 127.0.0.1:45671

Не могу понять что это за дополнительный запрос?
Если это нормальная ситуация, то где в исходниках можно увидеть функционал этого подключения? Я искал не нашёл.
Спасибо.

Дополнительная информация на сентябрь 2021 г.:

$ cat /etc/debian_version
10.10

$ cat /etc/resolv.conf
nameserver 10.139.1.1
nameserver 10.139.1.2

$ sudo netstat -nlptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address State PID/Program name
tcp        0      0 127.0.0.1:631           0.0.0.0:* LISTEN   569/cupsd
tcp6       0      0 ::1:631                 :::* LISTEN      569/cupsd

$ dpkg -S /usr/bin/host
bind9-host: /usr/bin/host

$ dpkg -L bind9-host
/.
/usr
/usr/bin
/usr/bin/host
/usr/share
/usr/share/doc
/usr/share/doc/bind9-host
/usr/share/doc/bind9-host/changelog.Debian.gz
/usr/share/doc/bind9-host/changelog.gz
/usr/share/doc/bind9-host/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/host.1.gz

$ apt show bind9-host
Package: bind9-host
Version: 1:9.11.5.P4+dfsg-5.1+deb10u5
Priority: standard
Section: net
Source: bind9
Maintainer: Debian DNS Team <team+dns@tracker.debian.org>
Installed-Size: 368 kB
Provides: host
Depends: libbind9-161 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libdns1104 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libisc1100 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libisccfg163 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), liblwres161 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libc6 (>= 2.14), libcap2 (>= 1:2.10), libcom-err2 (>= 1.43.9), libfstrm0 (>= 0.2.0), libgeoip1, libgssapi-krb5-2 (>= 1.6.dfsg.2), libidn2-0 (>= 2.0.0), libjson-c3 (>= 0.10), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.6.dfsg.2), liblmdb0 (>= 0.9.6), libprotobuf-c1 (>= 1.0.0), libssl1.1 (>= 1.1.0), libxml2 (>= 2.6.27)
Homepage: https://www.isc.org/downloads/bind/
Tag: implemented-in::c, interface::commandline, network::client,
network::service, protocol::dns, protocol::ssl, role::program
Download-Size: 271 kB
APT-Manual-Installed: yes
APT-Sources: https://deb.debian.org/debian buster/main amd64 Packages
Description: служба DNS (более не рекомендуется)
Этот пакет устанавливает /usr/bin/host, позволяющую устанавливать соответствия между
доменными именами и IP-адресами, из поставки BIND 9.X.
.
Эта утилита считается устаревшей, используйте dig или delv из пакета dnsutils.


Скриншоты - https://disk.yandex.ru/d/T5hAN6Kw9JSqcA
1-host-events.jpg - https://disk.yandex.ru/d/T5hAN6Kw9JSqcA/1-host-eve...
2-host-nodes.jpg - https://disk.yandex.ru/d/T5hAN6Kw9JSqcA/2-host-nod...

Хосты на скриншотах размазаны, т.к. владелец ресурса попросил не указывать настоящее имя хоста.

Описание скриншота:

Скриншот "1-host-events.jpg"
2021-09-03 21:29:21.142442 - Делаю запрос и получаю ответ, что запись не найдена.

$ host -t txt _dmarc.domain.ru
Хост _dmarc.domain.ru не найден: 3 (NXDOMAIN)


2021-09-03 21:29:21.160897 - в ту же секунду инициируется UDP-соединение к 127.0.0.1 на порт 45671.

Скриншот «2-host-nodes.jpg» показывает немного больше информации об этом подключении. Почему-то время LastConnection на вкладке "Nodes" в брандмауэре указано некорректно, поэтому не учитываем.
На втором скриншоте видно, что подключение было на ip адрес 127.0.0.1, тогда как другие обычные запросы идут на локальные DNS сервера 10.139.1.1
На скриншоте "2-host-nodes.jpg" два одинаковых запроса в командной строке выделены красным и зеленым цветом, но с разными значениями в столбцах DstIp, DstHost, DstPort.

Я впервые вижу, что утилита /usr/bin/host пыталась подключиться к порту 127.0.0.1:45671.
Помогите разобраться что это и зачем? В исходниках я не нашел упоминания о порте 45671.

---

Так же сегодня 9 февраля 2022 года я обнаружил ещё 2 попытки соединения на 127.0.0.1.

Скриншот - https://disk.yandex.ru/d/T5hAN6Kw9JSqcA/host_conne...
попытка UDP соединения к 127.0.0.1:37195
$ host garors.com

Скриншот - https://disk.yandex.ru/d/T5hAN6Kw9JSqcA/host_conne...
попытка UDP соединения к 127.0.0.1:50504
$ host ya.ru
ya.ru has address 87.250.250.242
ya.ru has IPv6 address 2a02:6b8::2:242
ya.ru mail is handled by 10 mx.yandex.ru.


Подскажите пожалуйста, почему создаются такие соединения?

Дополнительная информация на 9 февраля 2022:

$ cat /etc/resolv.conf
nameserver 10.139.1.1
nameserver 10.139.1.2

$ dpkg -S /usr/bin/host
bind9-host: /usr/bin/host


$ dpkg -l | grep bind9-host
ii  bind9-host                                    1:9.11.5.P4+dfsg-5.1+deb10u5                 amd64        DNS lookup utility (deprecated)


$ apt show bind9-host -a
Package: bind9-host
Version: 1:9.11.5.P4+dfsg-5.1+deb10u6
Priority: standard
Section: net
Source: bind9
Maintainer: Debian DNS Team <team+dns@tracker.debian.org>
Installed-Size: 368 kB
Provides: host
Depends: libbind9-161 (= 1:9.11.5.P4+dfsg-5.1+deb10u6), libdns1104 (= 1:9.11.5.P4+dfsg-5.1+deb10u6), libisc1100 (= 1:9.11.5.P4+dfsg-5.1+deb10u6), libisccfg163 (= 1:9.11.5.P4+dfsg-5.1+deb10u6), liblwres161 (= 1:9.11.5.P4+dfsg-5.1+deb10u6), libc6 (>= 2.14), libcap2 (>= 1:2.10), libcom-err2 (>= 1.43.9), libfstrm0 (>= 0.2.0), libgeoip1, libgssapi-krb5-2 (>= 1.6.dfsg.2), libidn2-0 (>= 2.0.0), libjson-c3 (>= 0.10), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.6.dfsg.2), liblmdb0 (>= 0.9.6), libprotobuf-c1 (>= 1.0.0), libssl1.1 (>= 1.1.0), libxml2 (>= 2.6.27)
Homepage: https://www.isc.org/downloads/bind/
Download-Size: 271 kB
APT-Sources: https://deb.debian.org/debian-security buster/updates/main amd64 Packages
Description: служба DNS (более не рекомендуется)
 Этот пакет устанавливает /usr/bin/host, позволяющую устанавливать соответствия между
 доменными именами и IP-адресами, из поставки BIND 9.X.
 .
 Эта утилита считается устаревшей, используйте dig или delv из пакета dnsutils.

Package: bind9-host
Version: 1:9.11.5.P4+dfsg-5.1+deb10u5
Priority: standard
Section: net
Source: bind9
Maintainer: Debian DNS Team <team+dns@tracker.debian.org>
Installed-Size: 368 kB
Provides: host
Depends: libbind9-161 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libdns1104 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libisc1100 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libisccfg163 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), liblwres161 (= 1:9.11.5.P4+dfsg-5.1+deb10u5), libc6 (>= 2.14), libcap2 (>= 1:2.10), libcom-err2 (>= 1.43.9), libfstrm0 (>= 0.2.0), libgeoip1, libgssapi-krb5-2 (>= 1.6.dfsg.2), libidn2-0 (>= 2.0.0), libjson-c3 (>= 0.10), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.6.dfsg.2), liblmdb0 (>= 0.9.6), libprotobuf-c1 (>= 1.0.0), libssl1.1 (>= 1.1.0), libxml2 (>= 2.6.27)
Homepage: https://www.isc.org/downloads/bind/
Tag: implemented-in::c, interface::commandline, network::client,
 network::service, protocol::dns, protocol::ssl, role::program
Download-Size: 271 kB
APT-Manual-Installed: yes
APT-Sources: https://deb.debian.org/debian buster/main amd64 Packages
Description: служба DNS (более не рекомендуется)
 Этот пакет устанавливает /usr/bin/host, позволяющую устанавливать соответствия между
 доменными именами и IP-адресами, из поставки BIND 9.X.
 .
 Эта утилита считается устаревшей, используйте dig или delv из пакета dnsutils.


user@Firefox:~$ md5sum /usr/bin/host
9baaed6fcefa9c5528534d5996b2a886  /usr/bin/host


$ sudo netstat -nlptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      632/cupsd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      632/cupsd
  • Вопрос задан
  • 427 просмотров
Подписаться 2 Простой 6 комментариев
Решения вопроса 1
@none7
Судя по выводу strace, host сам биндит произвольный порт на 127.0.0.1 зачем то и очень вероятно, что отправляет пакеты самому себе. Вот поэтому нет никакого смысла бороться с входящими подключениями из loopback интерфейса, особенно если они идут не к администрируемым сервисам. Программы иногда так делают.
Зачем host это делает? Да никто уже не скажет, ведь этот код объявленный устаревшим.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg Куратор тега Linux
Любые ответы на любые вопросы
1. Взять strace и посмотреть, действительно ли утилита делает системные вызовы, которые приводят к посылке таких пакетов.
2. Сравнить побитово бинарник с тем, что есть в дистрибутиве.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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