Little Snitch utiliza un extensión del núcleo de la red para interceptar el tráfico de la red.
Los NKEs permiten crear módulos que pueden cargarse y descargarse dinámicamente en posiciones específicas de la jerarquía de la red. Estos módulos pueden supervisar y modificar el tráfico de la red y puede recibir notificaciones de eventos asíncronos de la capa del controlador, como los cambios de estado de la interfaz.
Cada uno de los mecanismos de KPI de red realiza una tarea específica. Los mecanismos KPI de red básicos son:
-
Filtro de enchufe KPI, que permite a un KEXT filtrar el tráfico entrante o saliente en un zócalo determinado, dependiendo de la forma en que se conecten. Los filtros de socket también pueden filtrar la comunicación fuera de banda, como las llamadas a setsockopt o bind. Los filtros resultantes se encuentran entre la capa de sockets y el protocolo.
-
Filtro de interfaz KPI, que permite a un KEXT añadir un filtro a una interfaz de red específica . Estos filtros de interfaz (antes conocidos como NKE de enlace de datos) pueden observar pasivamente el tráfico (independientemente del tipo de paquete) a medida que entra y sale del sistema. También pueden modificar el tráfico (por ejemplo, cifrar o realizar la traducción de direcciones). Básicamente, actúan como filtros entre una pila de protocolos y un dispositivo.
Existen alternativas a las extensiones del kernel de red, como has mencionado, pero sólo para determinados casos de uso.
Debido a que incluso los errores menores en el código a nivel del kernel pueden causar graves consecuencias, incluyendo la inestabilidad de la aplicación, la corrupción de datos, e incluso el pánico del kernel, las técnicas descritas en este documento deben ser utilizadas sólo si no existe otro mecanismo. Por ejemplo, cuando sea posible, En general, el filtrado de IP debe realizarse mediante ipfw
. De la misma manera, el registro de paquetes debe hacerse generalmente utilizando bpf
.
Las extensiones del núcleo de red son mucho más potentes y permiten un control más detallado.
El énfasis en el contenido citado es mío. No conozco el otro software, pero supongo que sigue el mismo principio.