Skip to content
Syscall BSD#106

svc · unix #106

listen

Marque une socket en mode connexion comme passive, prête à accepter des connexions entrantes.

Prototype

int listen(int s, int backlog);

Retour: int

Arguments

NameTypeDirDescription
sint-
backlogint-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard106
xnu-1486.2.11106
xnu-1504.15.3106
xnu-1504.3.12106
xnu-1504.7.4106
xnu-1504.9.17106
xnu-1504.9.26106
xnu-1504.9.37106

Notes

Sur macOS le backlog est plafonné par kern.ipc.somaxconn (défaut 128) et par so_qlimit propre à la socket. Le noyau crée deux files dans l'inpcb : une pour les connexions incomplètes et une pour les connexions complétées. Les sockets en écoute sur des ports TCP inférieurs à 1024 nécessitent toujours des privilèges élevés, et l'entitlement App Sandbox 'network.server' est obligatoire pour les démons sandboxés.

Détection

Aucun événement ES. Utilisez lsof -nP -iTCP -sTCP:LISTEN ou netstat -anvp tcp, et corrélez avec les sockets de service connues de launchd. NEFilterDataProvider voit les flux acceptés mais pas l'état listen lui-même.

API associées

socketbindacceptsetsockoptshutdown