美文网首页
macos内核网络过滤

macos内核网络过滤

作者: zhjwang | 来源:发表于2018-09-11 23:06 被阅读42次

1.macOS通过NKE(network kernel extension)机制在多个层对网络栈进行扩展。NKE其实就是一种KEXT。

NKE并不是I/O kit的一部分,但是它位于BSD层,NKE是macOS特有的,在BSD UNIX中并不存在。

2.NKE的用途。

  • 1.自定义防火墙和安全机制,比如加密。
  • 2.添加新的协议支持。
  • 3.添加新的网络接口支持。
  • 4.创建虚拟网络接口。
  • 5.创建自定义路由模式。
  • 6.延迟、修改、查看或阻塞网络分组。
  • 7.调试网络栈和驱动程序。
    NKE通常使用以下KPI/过滤机制中的一种。
  • 1.套接字过滤器:在套接字层的各处插入过滤器,能够过滤传入和传出的传输以及带外通信。支持过滤套接字API的大多数协议,还可以修改、延迟、或者拒绝传输。
  • 2.IP过滤器:可以过滤ipv4以及ipv6传输。
  • 3.接口过滤器:可以在特定网络接口上监控以及修改传输。发生在栈的结尾,所以传向该接口的所以协议和传输均为可见。
  • 4.接口KPI:创建新网络接口的编程接口。
  • 5.协议通道:用于将网络协议连接到网络接口。

3.套接字过滤器

套接字层位于用户空间和内核网络协议栈之间。因此,套接字过滤器无法窥视传出的网络分组的IP或TCP头,但是依然可以使用套接字过滤器过滤基于IP的传输,因为ip地址,协议族等。
另外要注意,套接字过滤器无法从那些不通过套接字API启动的协议中过滤传输,因为一些辅助协议是直接在协议栈中处理的,例如ARP协议。

相关文章

网友评论

      本文标题:macos内核网络过滤

      本文链接:https://www.haomeiwen.com/subject/nhepgftx.html