¿Cómo puedo especificar los rangos de IP (RegEx) para SkipHosts en los archivos de configuración de AWStats?

StackOverflow https://stackoverflow.com/questions/158008

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy actualizando algunos archivos de configuración de AWStats antiguos para filtrar algunos rangos de IP específicos. Aquí está la sección pertinente del archivo de configuración:

# Do not include access from clients that match following criteria.
# If your log file contains IP addresses in host field, you must enter here
# matching IP addresses criteria.
# If DNS lookup is already done in your log file, you must enter here hostname
# criteria, else enter ip address criteria.
# The opposite parameter of "SkipHosts" is "OnlyHosts".
# Note: Use space between each value. This parameter is not case sensitive.
# Note: You can use regular expression values writing value with REGEX[value].
# Change : Effective for new updates only
# Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
# Example: "localhost REGEX[^.*\.localdomain$]"
# Default: ""
#
SkipHosts=""

Quiero, por ejemplo, filtrar X.Y.Z. [97-110]

Probé este formato (Nota: no estos valores de IP, usando el rango privado como ejemplo):

REGEX[^192\.168\.1\.[97-110]]

Pero provoca el siguiente error:

  

Error CGI
El CGI especificado   Aplicación mal comportada por no   devolviendo un conjunto completo de HTTP   encabezados.

Odio que todo use una sintaxis RegEx diferente. ¿Alguien tiene alguna idea de cómo funciona esto y cómo puedo especificar un rango aquí?

¿Fue útil?

Solución

Suponiendo que las clases de caracteres son compatibles con REGEX []:

SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"

Otros consejos

La expresión regular que usaste especifica 9 o 7 a 1 o 1 o 0, lo que desordena.

Puedes usar

SkipHosts="REGEX[^192\.168\.1\.(97|98|99|100|101|102|103|104|105|106|107|108|109|110)]"

si estás tan inclinado

¿Se ejecuta AWStats si deja SkipHosts vacío? De lo contrario, pruebe la utilidad de línea de comandos para verificar si hay errores. Por ejemplo, usando Windows:

c:\perlpath\perl.exe awstats.pl config=yourconfigfile -update -logfile=yourlogfile

Eso debería dar más detalles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top