【发布时间】:2018-10-03 12:05:14
【问题描述】:
我想构建一个基于守护进程的进程来配置网络内核模块防火墙功能。
目前,我可以使用pfctl 和描述过滤规则的各种配置文件来控制这个内核防火墙。但是,我希望首先使用 C++/Objective-C API 将规则注入到数据包中。
例如,要在我的设置中阻止来自任何网络接口的 IP 地址,需要将block from any to <ip_addr> 添加到/etc/pf.conf 文件并通过sudo pfctl -d 重新加载防火墙,然后sudo pfctl -e -f /etc/pf.conf
是否有任何选项可以使用ioctl 或其他系统调用直接与内核防火墙通信?
编辑: pfctl 的源代码是here,但我仍在尝试破译如何生成正确的 ioctl 命令以设置新规则..
【问题讨论】:
标签: macos system-calls ioctl darwin xnu