QUÉ ES EL MDNSD:
mdnsd
(Multicast Domain Name System Daemon) es la implementación de Android de mDNSResponder una parte de los próximos Red de configuración cero . Permite descubrir automáticamente los servicios y aparatos conectados a la red:
Este demonio está enviando continuamente difusiones de multidifusión (consultas / anuncios) a todos los hosts de la red local en la dirección IP 224.0.0.251
y el puerto UDP 5353
, también escuchando en el mismo puerto.
QUÉ APLICACIONES UTILIZAN MDNS:
Cualquier aplicación que haga uso de la Descubrimiento de servicios de red , solicitará mdnsd
funcionando en segundo plano ( 1 , 2 , 3 ) :
Añadir NSD a tu aplicación permite a tus usuarios identificar otros dispositivos en la red local que soportan los servicios que tu aplicación solicita. Esto es útil para una variedad de aplicaciones peer-to-peer como el intercambio de archivos o los juegos multijugador.
Una búsqueda rápida en los foros mostrará que muchas aplicaciones son culpadas por el drenaje excesivo de la batería debido al uso de mdnsd
Por ejemplo Facebook y Firefox . Este último ha pasado por un error en el pasado que causó el comportamiento inesperado. Ahora tienen su propia implementación de MDNS ( 4 ) . Servicios de Google Play también tienen incorporado el servicio MDNS (para descubrir dispositivos receptores de Google Cast como Chromecast) ( 5 , 6 ) .
Los dispositivos que admiten NSD incluyen impresoras, cámaras web, servidores HTTPS y otros dispositivos móviles.
Aplicaciones integradas en AOSP Servicio de impresión Servicio de recomendación (com.Android.printservice.recommendation) y Servicio de impresión por defecto (com.Android.bips) también hacen uso de la NSD. Por lo tanto, si usted está utilizando las funciones de impresión en su dispositivo, que estaría causando mdnsd
ejecutarse en segundo plano. Pero la razón más común es ADBD (Android Debug Bridging Daemon) que fuerza el inicio de mdnsd
( 7 ) .
¿CÓMO DETENER MDNSD?
mdnsd
es un servicio init ( 8 ) que puede detenerse mediante activadores. Añade unas líneas a /etc/init/mdnsd.rc
:
# stop mdnsd on startup
on property:sys.boot_completed=1
stop mdnsd
# stop mdnsd when adbd starts/stops
on property:init.svc.adbd=*
stop mdnsd
También puede detener manualmente el servicio en cualquier momento ejecutando:
~# setprop ctl.stop mdnsd
O puede matar directamente el mdnsd
programa como sugiere @ DBX12 . El servicio no debería reiniciarse porque es oneshot
. Pero si se dispara una y otra vez por alguna aplicación o por el SO, puedes hacer que el binario sea inexectable (o que se borre) en absoluto:
~# chmod a-x /system/bin/mdnsd
Sin embargo, esto puede romper la funcionalidad de algunas aplicaciones.
Todas las soluciones anteriores requiere Root . Si tu dispositivo no está rooteado, la única manera es identificar y dejar de usar la aplicación/función que utiliza la API NSD de Android o directamente inicia mdnsd
servicio.
0 votos
¿Cómo ver la lista de procesos (a través de una aplicación - cuál; o a través de la línea de comandos - adb/termux)?
0 votos
@Robert Sólo lo veo desde la función de uso de la batería por defecto de mi teléfono