Con una herramienta de línea de comandos es posible analizar sintácticamente el archivo de registro sin conexión y extraer información como las 10 direcciones IP con mayor volumen de solicitudes, los agentes de usuario y los referentes. En este tema se explica cómo analizar los registros de acceso sin conexión de CDN mediante una herramienta de línea de comandos en un entorno Linux.
Recopilación y preparación de los datos de registro
Consulte Quick Start para obtener el archivo de registro
aliyundoc.com_2018_10_30_000000_010000.gz.-
Cargue el archivo de registro en un servidor Linux local.
Ejemplo de entrada de registro:
[9/Jun/2015:01:58:09 +0800] 10.10.10.10 - 1542 "-" "GET http://www.aliyun.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html" -
Inicie sesión en el servidor Linux local y ejecute el siguiente comando para descomprimir el archivo de registro.
gzip -d aliyundoc.com_2018_10_30_000000_010000.gzLa descompresión genera un archivo de registro llamado
aliyundoc.com_2018_10_30_000000_010000.Regla de nomenclatura de los archivos de registro: nombre_de_dominio_acelerado_año_mes_día_hora_de_inicio_hora_de_fin[campo_de_extensión].gz. El campo de extensión comienza con un guion bajo (_). Por ejemplo:
aliyundoc.com_2018_10_30_000000_010000_xx.gz.NotaAlgunos archivos de registro no incluyen el campo de extensión en su nombre. Por ejemplo:
aliyundoc.com_2018_10_30_000000_010000.gz.
Identificación y filtrado de comportamientos anómalos
Comprobación del volumen de solicitudes
Analice la cantidad de solicitudes por IP en los datos del registro de acceso sin conexión para detectar volúmenes anómalos. Estos volúmenes suelen presentar las siguientes características:
Volumen inusualmente alto: revise a fondo la frecuencia de acceso desde una sola dirección IP de origen. Si detecta que una dirección IP generó un volumen de solicitudes muy distinto al valor base durante un periodo específico, es probable que se trate de un abuso de tráfico.
-
Gran cantidad de solicitudes en poco tiempo: un pico repentino de tráfico o un patrón cíclico inusual de solicitudes.
Enumere las 10 direcciones IP con mayor volumen de solicitudes.
cat [$Log_Txt] | awk '{print $3}' |sort|uniq -c|sort -nr |head -10Notaawk '{print $3}': extrae la tercera columna del archivo de registro, que corresponde a la dirección IP. Las columnas se separan con espacios.sort: ordena las direcciones IP.uniq -c: cuenta las apariciones de cada dirección IP.sort -nr: ordena los resultados por conteo en orden descendente.head -n 10: obtiene las 10 direcciones IP con más solicitudes.[$Log_Txt]: reemplace este valor por el nombre de su archivo de registro; por ejemplo,aliyundoc.com_xxxxxxx.
Análisis del agente de usuario
Analice el agente de usuario en el registro de acceso sin conexión para identificar solicitudes anómalas. Los agentes de usuario anómalos suelen presentar las siguientes características:
-
Agente de usuario anómalo o falsificado: muchas herramientas de extracción de datos usan agentes de usuario predeterminados o falsificados. Para encontrarlos, filtre los agentes poco comunes, sospechosos o vacíos.
Extraiga y cuente los agentes de usuario.
grep -o '"Mozilla[^"]*' [$Log_Txt] | cut -d'"' -f2 | sort | uniq -c | sort -nr | head -n 10Filtre los agentes de usuario comunes para identificar los sospechosos.
grep -v -E "Firefox|Chrome|Safari|Edge" [$Log_Txt]Cuente las solicitudes que tienen un agente de usuario vacío.
awk '!/Mozilla/' [$Log_Txt] | wc -lNotagrep -o: muestra únicamente el contenido coincidente.grep -v -E: invierte la coincidencia para mostrar las líneas que no cumplen con los patrones especificados.wc -l: cuenta el número de líneas.
Análisis de patrones de solicitud
Analice las URL solicitadas en el registro de acceso sin conexión para detectar patrones anómalos. Las solicitudes de URL anómalas suelen presentar las siguientes características:
Alta similitud entre URL: la extracción masiva de tráfico suele implicar numerosas solicitudes a URL similares o idénticas. Analizar los patrones de URL le ayuda a detectar estas solicitudes anómalas.
-
Proporción elevada de solicitudes para tipos específicos de recursos: una cantidad inusual de solicitudes hacia recursos concretos, como imágenes o archivos CSS y JS, podría indicar extracción de tráfico.
Enumere las 10 URL con mayor volumen de solicitudes.
grep -oP 'https?://[^" ]+' [$Log_Txt] | sort | uniq -c | sort -nr | head -n 10
Análisis de códigos de estado
Analice los códigos de estado en el registro sin conexión para identificar solicitudes anómalas.
Busque una proporción alta de respuestas 4xx o 5xx: si una sola dirección IP genera muchos códigos de estado 4xx o 5xx, es posible que existan intentos maliciosos de rastreo.
Cuente las apariciones de los distintos códigos de estado.
awk '{print $9}' [$Log_Txt] | sort | uniq -c | sort -nr
Enumere las 10 direcciones IP que generaron más códigos de estado 400.
grep ' 400 ' [$Log_Txt] | awk '{print $3}' | sort | uniq -c | sort -nr | head -n 10