【发布时间】:2018-02-13 08:09:57
【问题描述】:
我有一个小的 C 程序,它执行以下操作:
int fd;
fd = socket(AF_INET, SOCK_STREAM, 0);
ioctl(fd, ..., ...);
close(fd);
我的 kext ioctl 回调如下所示:
errno_t
Router::Ioctl(void *cookie, socket_t so, unsigned long request, const char* argp)
{
IOLog("-- SOCK IOCTL Request is %lu\n", request);
return KERN_SUCCESS;
}
当我在 Safari 和其他东西中打开网页时,我可以在控制台应用程序中看到输出
默认 16:09:08.557920 +0200 内核 -- IOCTL 请求为 2147772030
但是当我执行我的 C 程序时,它似乎“跳过”了我的 kext 并且没有打印任何内容。
关于为什么会发生这种情况的想法?
编辑
为了它,我也尝试使用接口过滤器做同样的事情 - 结果相同
【问题讨论】:
标签: macos networking kernel kernel-extension