¿Qué puedo usar para monitorear y registrar el tráfico entrante / saliente hacia / desde hosts remotos?

13

Ejecuto un servidor web (Debian Squeeze en un VPS), y los gráficos proporcionados por la empresa de hosting muestran consistentemente que alrededor del doble de tráfico ingresa al servidor en comparación con el tráfico saliente. Estoy un poco confundido con esto, por lo que me gustaría ejecutar algún tipo de utilidad de registro en la máquina que no solo confirme las cifras de carga / descarga, sino que también las divida por el host remoto involucrado, para que pueda ver si Gran parte del tráfico entrante proviene de una fuente en particular.

Sospecho que la mayor parte del tráfico saliente pasa a través de Apache, pero el tráfico entrante puede ser principalmente a través de Apache o podría estar dominado por otros scripts y trabajos cron, por lo que preferiría una herramienta que monitoree el tráfico en el nivel de la interfaz en lugar de algo dentro de Apache .

Idealmente, me gustaría una herramienta que pueda dejar en funcionamiento durante unos días, luego regresar y obtener una salida de "bytes por host remoto" para el tráfico entrante y saliente.

¿Es esto posible con una herramienta estándar de Linux y un poco de configuración (si es así, cómo?) O con un programa especializado (si es así, ¿cuál?)

Ian Renton
fuente

Respuestas:

11

ntop es probablemente su mejor solución para hacer esto. Está diseñado para funcionar a largo plazo y capturar exactamente lo que está buscando.
Puede mostrarle qué destinos remotos se utilizan con mayor frecuencia, cuánto tráfico se envía hacia / desde qué protocolos y puertos se estaban utilizando, etc. Puede hacer lo mismo para los hosts de origen si lo ejecuta en un enrutador para que pueda ver las mismas estadísticas en clientes locales también.
Luego utiliza una GUI web para navegar y mostrar esta información.

ntop

Patricio
fuente
Whoa Todos estos años he estado utilizando ntopal igual top, no tenía ni idea de que tenía un modo demonio y una interfaz integrada web! No hay nada de malo en la sugerencia de @ ckhan, pero aceptaré esta, ya que creo que ntopla interfaz web incorporada es más fácil de usar que la que tcpdumpsigue Wireshark.
Ian Renton el
9

Si tienes root, puedes usar tcpdumpy agarrar todo. Luego puedes subirlo a Wireshark y analizarlo a tu gusto.

$ sudo tcpdump -i <interface> -w mycapture.tcpdump  

... y luego presione ctrl-c cuando haya tenido suficiente. Correr en unscreen sesión si necesita desconectarse, etc.

Por defecto, solo capturará la primera parte de cada paquete, pero dado que está interesado principalmente en el análisis de origen, debería estar bien. Toneladas de otras opciones para tcpdump si te sientes aventurero.

EDITAR : De hecho, una vez cargado en Wireshark, puede usar la opción de menú Estadísticas | Direcciones IP ... y obtenga un buen resumen del tráfico por conteo / tasa / porcentaje:

ingrese la descripción de la imagen aquí

ckhan
fuente
Gracias, parece un camino razonable. ¿Sabe si Wireshark puede producir automáticamente el tipo de salida que busco (por ejemplo, "1000 conexiones al servidor A, 967 conexiones al servidor B ...") o tendría que escribir un script para generar esa información desde el volcado TCP ¿yo mismo?
Ian Renton
@IanRenton: creo que hará exactamente lo que quieres, mira la respuesta editada. Creo que tcpdumptambién puede escupir resúmenes de paquetes que usted podría fácilmente grep, wcetc.
ckhan
4

Y para una métrica más avanzada, puede usar algo como monitorix que tiene módulos para la mayoría de los servicios comunes y es solo una simple:

apt-get install monitorix

También tiene cactus una GUI RDDtool completa, pero no en tiempo real.

Y en el top 1 para mí es el multi-configurable grafana. Es un poco más difícil de instalar y configurar, pero es perfecto, puedes medir todo en detalle y en tiempo real. Necesita algunas dependencias JVM, grafito, susurro, ... algunos conocimientos sobre JSON, pero funciona de maravilla. ¡Realmente lo recomiendo!

Quizás una buena configuración para su caso debería ser:

collectd + graphite + whisper + grafana

En realidad, la grafana cambió mi vida en la oficina.

Gxt
fuente
Whisper trae muchos éxitos, ninguno de los cuales parece relevante. Excepto algún firewall para Android ... ¿Podrías dar una url? Tal vez tenga un repositorio github con su configuración.
oligofren