Aquí tengo una pregunta bastante profunda que espero que alguien pueda responder. En macOS, los usuarios regulares pueden hacer ping así como root. Normalmente, se requiere acceso a la raíz para abrir el socket en bruto necesario para ejecutar ping. He notado en Linux que esto generalmente se logra agregando atributos extendidos al archivo de programa de ping para permitir el acceso de nivel raíz para abrir sockets sin formato (en el pasado, esto se hacía simplemente estableciendo el bit setuid en el programa de ping, permitiéndole hacer cualquier cosa en su programación como root).
He mirado / sbin / ping en macOS (High Sierra, específicamente), y no se han establecido tales atributos, y ninguno de ellos es setuid. Entonces, ¿qué está haciendo macOS para permitir que los usuarios estándar (no root) hagan ping? ¿Están enviando paquetes ICMP sobre TCP o UDP? Si es así (o si hay otro mecanismo que me falta por completo), ¿puede indicarme algunos documentos? Cualquier ayuda sería apreciada.