Estoy tratando de crear una pequeña secuencia de comandos de auditoría de red que rastree los nombres de dominio HTTP y HTTPS visitados por determinados hosts utilizando el contenedor de libpcap para Nodejs . En el mejor de los casos, el script podría proporcionar una copia impresa de los nombres de los sitios web que visitó un host, así como una fecha y hora en que se produjo la visita.
Mi idea inicial es hacer una captura estándar en la LAN con un filtro de paquetes para monitorear solo el tráfico del "puerto udp 53", inspeccionar solo las preguntas del DNS y luego guardarlas en un mapa de hash mediante una dirección IP o MAC. Sin embargo, este método dará resultados un tanto nublados, ya que cualquier activo cargado en una página realizará otra solicitud de DNS. Yendo a decir, enlace , en realidad se activan ~ 20 búsquedas de nombre de host. ¿Existe algún método sensato para separar los nombres de host visitados por un navegador de los que se solicitan simplemente por activos? Un método en el que puedo pensar sería emplear algún tipo de temporizador de "rebote" en el que mi secuencia de comandos solo escuche la primera solicitud de pregunta de DNS realizada cada 1000 milisegundos (más o menos), de esa manera al menos podría ignorar la primera ola de activos. Cargado por cualquier página web. ¿Alguna idea sobre si este es un método sólido para rastrear páginas web visitadas (tanto http como https) o sugerencias para mejorarlo?