svc · unix #135
socketpair
Crée une paire de sockets connectées et anonymes dans le domaine AF_UNIX pour de l'IPC intra-processus.
Prototype
int socketpair(int domain, int type, int protocol, int *rsv);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| domain | int | - | |
| type | int | - | |
| protocol | int | - | |
| rsv | int | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 135 |
| xnu-1486.2.11 | — | 135 |
| xnu-1504.15.3 | — | 135 |
| xnu-1504.3.12 | — | 135 |
| xnu-1504.7.4 | — | 135 |
| xnu-1504.9.17 | — | 135 |
| xnu-1504.9.26 | — | 135 |
| xnu-1504.9.37 | — | 135 |
Notes
Seul AF_UNIX est accepté sur macOS ; le noyau renvoie EOPNOTSUPP pour AF_INET. Les deux descripteurs partagent un tampon dans unp_pcb d'xnu et se comportent comme un tube bidirectionnel avec passage optionnel de descripteurs via SCM_RIGHTS. XPC, launchd et de nombreux frameworks Apple utilisent socketpair sous le capot pour transmettre à un processus enfant un canal de contrôle pré-connecté, souvent hérité au travers de posix_spawn.
Détection
Aucun événement Endpoint Security ne couvre socketpair. Détectez indirectement en énumérant les paires Unix via proc_pidinfo + PROC_PIDFDSOCKETINFO et en corrélant les adresses des pairs avec sysctl net.local.stream.pcblist.