0 votos

MacOS Monterey permisos de sockets UDP para socat

He instalado socat en MacOS Montery gracias a homebrew .

El comando:

socat UDP4-RECVFROM:8888,ip-add-membership=239.255.98.99:192.168.1.100,fork,reuseaddr -

no recupera ningún datagrama (el mismo comando en una máquina Linux sí lo hace).

Lo he leído:

Para los sockets UDP, los derechos de red restringen tanto la iniciación como la el flujo de datos. Por ejemplo, una aplicación con sólo el derecho de cliente puede enviar, pero no recibir, datos. Las aplicaciones que utilizan UDP suelen requieren ambos derechos.

https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_network_client

Cómo dar esos permisos a socat ?

2voto

Jose Chavez Puntos 645

No se pueden dar estos permisos a socat . La documentación que ha encontrado es sólo para sandboxed aplicaciones. socat no es una aplicación de caja de arena, y por lo tanto no está restringida en esa área, y por lo tanto no puedes darle permisos para "salir" de una caja de arena en la que nunca estuvo en primer lugar.

Incluso más, si socat siendo una aplicación con caja de arena, sigues viendo el permiso incorrecto. Ese permiso sólo controla enviando paquetes UDP. Usted quiere recibirlos, así que ese es el permiso del "servidor" ( com.apple.security.network.server ) en lugar del permiso "cliente" ( com.apple.security.network.client ) que cita en su pregunta.

Supongo que eres consciente de que no estás "sólo" intentando recibir datagramas UDP, sino que también estás intentando hacerlo mediante multidifusión IP. Tal vez sería mejor abrir una pregunta separada para detallar lo que usted está tratando de lograr como el objetivo final, y las soluciones se pueden encontrar para usted.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X