¿Cuál fue esa herramienta que Zuck usó en The Social Network para monitorear el tráfico a Facemash? Recuerdo haber visto que tenía tres columnas. La última columna mostraba la página solicitada (como index.php), y middle tenía el nombre de host.

Mientras miraba la película, la detuve a veces para verificar el código, y parece que en realidad escribieron a mano el código para mostrar las pantallas en la película. Ni siquiera es falso para el espectáculo, todo es real. Recreaban todas las cosas de las que estaban hablando.

Bueno, eso no es completamente cierto. Algunas pantallas de códigos incluyen cosas como “rand” y cosas por el estilo que insinúan el hecho de que los productores falsificaron el tráfico (obviamente).


Las referencias a los números para cada color en la pantalla de códigos son los códigos de color para cualquier consola basada en Terminal / Konsole / Unix (por ejemplo, 33 = amarillo, 32 = verde, etc.). Parece que Zuck codificó la barra de progreso “Cargar” en la parte superior para aumentar y disminuir, y cambiar el color, en función de la carga en el servidor. Es rojo en estas capturas de pantalla debido a la gran cantidad de tráfico que está recibiendo.

Ahora para el script real, es claramente un script PHP personalizado que probablemente supervisa los registros de Apache en tiempo real. Puede modificar el formato de registro de Apache y usar el símbolo% D para mostrar el tiempo de respuesta / latencia, y el resto de las pantallas (nombre de host, dirección IP, archivo de destino) son muy básicas para implementar. El script de Zuck está programado para mostrar simplemente la latencia unidireccional (tiempo de respuesta) para que el servidor web atienda la solicitud a cada conexión, con las conexiones más lentas cerca de la parte superior (texto amarillento si la latencia es más de 2 segundos) y las conexiones más rápidas cerca la parte inferior (texto verdoso si latencia inferior a 2 segundos) . Esto es completamente posible hacerlo usando los registros de Apache y alguna programación inteligente.

Ahora, ¿podría recrear esto?

Durante unos días, intenté codificar el script monitor.php a partir de estas observaciones y lo logré. Más tarde, tuve que modificarlo porque no tenía un sitio web con tanto tráfico como Zuck’s Facemash (“¿22,000 visitas en 4 horas?”). Entonces lo modifiqué para mostrar los últimos visitantes a la página. En lugar de latencia, hice que mi script mostrara los últimos visitantes, con los más recientes cerca de la parte superior y en texto verdoso, y las visitas más antiguas cerca de la parte inferior en texto cada vez más amarillento.

También agregué la frecuencia de las conexiones de direcciones IP particulares, usé fechas en lugar de tiempos de latencia en el lado derecho, reduje la frecuencia de actualización de lo que parece ser 0,75 segundos en la película a 45 segundos para mis usos (A, el servidor que utilicé no recibió suficiente tráfico para requerir esa velocidad rápida, y B, mi servidor era remoto mientras Zuck solo estaba leyendo un registro local en la computadora portátil que actuaba como un servidor web Y una herramienta de monitoreo).

Finalmente, envolví el código PHP en un script de shell de Mac para ejecutar el PHP, así como redimensioné la ventana de Terminal para incluir solo la información necesaria, y listo:


[A los efectos de esto, “Zuck” se define como los programadores contratados por los productores que hicieron el código para la película.]

Esta pregunta ha cambiado al menos dos veces ahora. Entonces esto es para responder lo que alguien hubiera usado en la vida real:

tail -f / var / log / httpd / access_log

o si su configuración de Apache usa el usuario apache2 …

tail -f / var / log / apache2 / access_log

En la película, Mark falso utilizó un script PHP personalizado, lo que no tiene sentido. Además, todos los nombres de host DNS están desactivados, pero no importa mucho. Los estudiantes se habrían presentado en ese momento como, por ejemplo, roam147-29.student.harvard.edu., Con el primer número correlacionado con el dormitorio o la casa residencial, y el segundo número asignado al azar desde un grupo.

Aquí hay una captura de pantalla de mayor resolución de la película:

La ventana de emacs detrás de esta herramienta de monitoreo muestra que está editando un script llamado “monitor.php” que incluye referencias al color del texto (amarillo, verde, etc.) que coincide con el programa en ejecución. Lo más probable es que haya escrito un script de monitoreo personalizado que está ejecutando en una ventana separada.

(Huevo de Pascua: tenga en cuenta que el programa se está quedando sin “/ var / tsn” en el encabezado de la ventana)

Podemos ver que, en el fondo, hay una ventana de terminal que ejecuta “nano”, editando “monitor.php”. Es un monitor de servidor personalizado hecho en PHP. Funciona leyendo los registros de acceso de Apache y analizándolos en la página de estadísticas. Además, la carga del servidor probablemente se obtiene por el porcentaje de uso del procesador.

He hecho uno similar: Monitor de servidor

En realidad se conecta con el registro de acceso. Aquí el código para el monitor.php

Monitor del servidor

Gracias 🙂

¿Podría ser Apachetop? No estoy muy seguro de cómo sería exactamente apachetop, o si existiera en esa versión (se parece a KDE en Fedora Core 2 o 3) de Linux.