Qui ho una domanda piuttosto profonda che spero che qualcuno possa rispondere. In macOS, gli utenti regolari possono eseguire il ping così come root. Normalmente, è richiesto l'accesso root per aprire il socket raw necessario per eseguire ping. Ho notato su Linux che questo in genere si ottiene aggiungendo attributi estesi al file di programma ping per consentire l'accesso a livello di root per l'apertura di socket raw (in passato, ciò avveniva semplicemente impostando il bit setuid sul programma ping, permettendogli di fare qualsiasi cosa nella sua programmazione come root).
Ho guardato / sbin / ping su macOS (High Sierra, in particolare), e non sono stati impostati tali attributi, e nessuno dei due è setuid. Quindi cosa sta facendo macOS per consentire agli utenti standard (non-root) di eseguire il ping? Stanno inviando pacchetti ICMP su TCP o UDP? Se è così (o se c'è un altro meccanismo che mi manca del tutto), puoi indicarmi alcuni documenti? Qualsiasi aiuto sarebbe apprezzato.