在OS X内核扩展中获取套接字的所有者

Joh*_*oni 3 sockets macos kernel

我正在写一个放置套接字过滤器的Mac OS X NKE.我收到一个套接字,我需要得到套接字所有者的PID.我已经尝试了FIOGETOWN ioctl,但是我收到了102的错误(套接字不支持操作).有没有办法获得主人的PID?

Joh*_*oni 5

我找到了!显然,当执行套接字过滤器的附加回调时,您将在创建套接字的进程的上下文中执行.对proc_selfpid()的简单调用给出了PID.