¿Cómo funciona WireShark en OS X? ¿Con qué procesos interactúa?

1

Estoy buscando una investigación profunda / detallada sobre cómo funciona la pila TCP de MacOS. A saber, ¿cuáles son los archivos / bibliotecas dinámicas que ofrecen este servicio?

¿Con qué bibliotecas interactúa WireShark?

Mi objetivo es rastrear una cadena lógica de controladores, procesos y configuraciones que permiten que una conexión TCP funcione.

Inspeccionaré la versión de los archivos, su configuración predeterminada correspondiente y cualquier otra cosa que pueda influir en su comportamiento.

Mi objetivo es diagnosticar el problema descrito en esta pregunta.

    
pregunta random65537 05.10.2016 - 20:24

1 respuesta

1

Wireshark usa los dispositivos / dev / bpf *.

Desde el archivo readme.txt de Wireshark (que describe las modificaciones del sistema):

  

/Library/LaunchDaemons/org.wireshark.ChmodBPF.plist. Un demonio de inicio que ajusta los permisos en los dispositivos de captura de paquetes del sistema (/ dev / bpf *) cuando el sistema se inicia.

Los dispositivos bpfx son mecanismos diseñados para inspeccionar el tráfico de red (es decir, exactamente el caso de uso de WireShark).

O como man bpf dice:

  

El filtro de paquetes de Berkeley proporciona una interfaz en bruto para las capas de enlace de datos de forma independiente del protocolo. Todos los paquetes en la red, incluso aquellos destinados a otros hosts, son accesibles a través de este mecanismo.

     

El filtro de paquetes aparece como un dispositivo especial de caracteres, / dev / bpf. Después de abrir el dispositivo, el descriptor del archivo debe estar vinculado a una interfaz de red específica con el ioctl de BIOCSETIF. Una interfaz determinada puede ser compartida por varios oyentes, y el filtro que subyace a cada descriptor verá una secuencia de paquetes idéntica.

    
respondido por el Anachronism 06.10.2016 - 10:53

Lea otras preguntas en las etiquetas