Little Snitch usa una extensión de kernel de red para interceptar el tráfico de red.
Las NKE le permiten crear módulos que se pueden cargar y descargar dinámicamente en posiciones específicas en la jerarquía de la red. Estos módulos pueden monitorear y modificar el tráfico de la red y pueden recibir notificaciones de eventos asíncronos desde la capa del controlador, como los cambios de estado de la interfaz.
Cada uno de los mecanismos KPI de red realiza una tarea específica. Los mecanismos básicos de KPI de red son:
- KPI de filtro de zócalo, que permite a KEXT filtrar el tráfico entrante o saliente en un zócalo determinado, según cómo estén conectados. Los filtros de socket también pueden filtrar las comunicaciones fuera de banda, como las llamadas a setsockopt o bind. Los filtros resultantes se encuentran entre la capa de socket y el protocolo.
- ...
- Filtro de interfaz KPI, que permite a KEXT agregar un filtro a una interfaz de red específica . Estos filtros de interfaz (anteriormente conocidos como NKE de enlace de datos) pueden observar pasivamente el tráfico (independientemente del tipo de paquete) a medida que fluye dentro y fuera 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 de kernel de red, como usted mencionó, pero solo para ciertos casos de uso.
Debido a que incluso los errores menores en el código de nivel de kernel pueden causar serias consecuencias, incluida la inestabilidad de la aplicación, la corrupción de los datos e incluso el pánico del kernel, las técnicas descritas en este documento deben usarse solo si no existe otro mecanismo. Por ejemplo, cuando sea posible, el filtrado de IP generalmente se debe hacer usando ipfw
. De manera similar, el registro de paquetes generalmente se debe hacer usando bpf
.
Las extensiones del kernel de red son mucho más potentes y permiten un control más detallado.
Énfasis en el contenido citado mío. No estoy familiarizado con el otro software pero asumo que sigue el mismo principio.