svc · unix #450
socket_delegate
Crée une socket dont l'activité réseau est attribuée à un processus délégué pour la politique et la comptabilité.
Prototype
int socket_delegate(int domain, int type, int protocol, pid_t epid);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| domain | int | - | |
| type | int | - | |
| protocol | int | - | |
| epid | pid_t | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-2422.115.4 | macOS 10.9 Mavericks | 450 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 450 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 450 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 450 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 450 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 450 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 450 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 450 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 450 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 450 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 450 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 450 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 450 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 450 |
| xnu-10002.41.9 | — | 450 |
| xnu-10002.61.3 | — | 450 |
| xnu-10002.81.5 | — | 450 |
| xnu-10063.101.15 | — | 450 |
| xnu-10063.121.3 | — | 450 |
| xnu-10063.141.1 | — | 450 |
| xnu-11215.41.3 | — | 450 |
| xnu-11215.61.5 | — | 450 |
| xnu-11215.81.4 | — | 450 |
| xnu-11417.121.6 | — | 450 |
| xnu-11417.140.69 | — | 450 |
| xnu-12377.101.15 | — | 450 |
| xnu-12377.41.6 | — | 450 |
| xnu-12377.61.12 | — | 450 |
| xnu-12377.81.4 | — | 450 |
| xnu-2422.1.72 | — | 450 |
| xnu-2422.100.13 | — | 450 |
| xnu-2422.110.17 | — | 450 |
| xnu-2422.90.20 | — | 450 |
| xnu-2782.1.97 | — | 450 |
| xnu-2782.10.72 | — | 450 |
| xnu-2782.20.48 | — | 450 |
| xnu-2782.30.5 | — | 450 |
| xnu-3247.10.11 | — | 450 |
| xnu-3248.20.55 | — | 450 |
| xnu-3248.30.4 | — | 450 |
| xnu-3248.40.184 | — | 450 |
| xnu-3248.50.21 | — | 450 |
| xnu-3248.60.10 | — | 450 |
| xnu-3789.21.4 | — | 450 |
| xnu-3789.31.2 | — | 450 |
| xnu-3789.41.3 | — | 450 |
| xnu-3789.51.2 | — | 450 |
| xnu-3789.60.24 | — | 450 |
| xnu-3789.70.16 | — | 450 |
| xnu-4570.20.62 | — | 450 |
| xnu-4570.31.3 | — | 450 |
| xnu-4570.41.2 | — | 450 |
| xnu-4570.51.1 | — | 450 |
| xnu-4570.61.1 | — | 450 |
| xnu-4570.71.2 | — | 450 |
| xnu-4903.231.4 | — | 450 |
| xnu-4903.241.1 | — | 450 |
| xnu-4903.270.47 | — | 450 |
| xnu-6153.101.6 | — | 450 |
| xnu-6153.121.1 | — | 450 |
| xnu-6153.141.1 | — | 450 |
| xnu-6153.41.3 | — | 450 |
| xnu-6153.61.1 | — | 450 |
| xnu-6153.81.5 | — | 450 |
| xnu-7195.101.1 | — | 450 |
| xnu-7195.121.3 | — | 450 |
| xnu-7195.141.2 | — | 450 |
| xnu-7195.60.75 | — | 450 |
| xnu-7195.81.3 | — | 450 |
| xnu-8019.61.5 | — | 450 |
| xnu-8019.80.24 | — | 450 |
| xnu-8020.101.4 | — | 450 |
| xnu-8020.121.3 | — | 450 |
| xnu-8020.140.41 | — | 450 |
| xnu-8792.61.2 | — | 450 |
| xnu-8792.81.2 | — | 450 |
| xnu-8796.101.5 | — | 450 |
| xnu-8796.121.2 | — | 450 |
| xnu-8796.141.3 | — | 450 |
Notes
Restreint aux démons système Apple et à quelques binaires entitlés via com.apple.private.network.socket-delegate. Le noyau positionne so_flags1 |= SOF1_DELEGATED et stocke le jeton d'audit effectif du délégué dans l'inpcb, de sorte que NECP, les filtres NetworkExtension et la comptabilité de bande passante par processus voient le délégué plutôt que l'appelant réel. Utilisé par mDNSResponder, nehelper et trustd pour acheminer du trafic pour le compte d'apps tierces tout en respectant le sandbox/routage VPN de ces apps.
Détection
NEFilterDataProvider expose l'identifiant du délégué via NEFilterSocketFlow.sourceAppAuditToken vs sourceAppIdentifier ; une divergence indique une délégation. ES ne fait pas remonter cette distinction.