Bonjour à tous
voici ce que je dois faire : comparer un fichier de log Squid à un fichier d'url porno blaclisté et genere un fichier html du style IP - DATE - SITE si une url visité est dans la blackliste.
Le fichier log de squid est de la forme:
194.167.45.242 - - [22/Nov/2005:11:41:31 +0100] "GET http://www.xxxporn.com/images/PageMenu/u p.gif HTTP/1.0" 304 212 TCP_IMS_HIT:NONE
Le fichier d'url porno blacklisté (10Mo, 60000 entrée):
xxxporn.com
sex.com
sexy.fr
...
Voila ce que j'ai pondu:
tail -n20 access.log | sed "s|.*http://\(www\.\)\?\([^/]*\).*|\2|" > lignes
while read ligne
do
grep ^$ligne$ domains.txt
done < lignes
Ca marche, mais le résultat n'est pas exploitable, car j'ai juste un resultat du type xxxporno.com
Or il me fauT IP - DATE - URL, est la je bloque...
Et pourquoi on ne peut pas faire un sed sur une variable? Du genre:
URL=`tail -n1 access.log`
sed "s|.*http://\(www\.\)\?\([^/]*\).*|\2|" $URL
Merci
# pour ?
Posté par gaaaaaAab . Évalué à 1.
parce que je soutiens pas plus le porno que ça, mais si c'est pour du flicage en entreprise ... je passe mon tour ... :)
# rep
Posté par rz1 . Évalué à 1.
[^] # Re: rep
Posté par gaaaaaAab . Évalué à 1.
Comme je n'ai pas tous les éléments de la situation, je ne juge pas les choix faits sur ton réseau. De mon expérience, j'ai plutôt tendance à croire que la responsabilité des citoyens/internautes/êtres humains est un denrée rare. Je pense que je préférerais filtrer les urls d'une blacklist plutôt que laisser la porte ouverte aux inévitables abus et faire de la répression ensuite. Mais d'autres paramètres sont à prendre en compte comme le nombre d'utilisateurs, leur compréhension du fonctionnement des réseaux, leur motivation à l'utilisation du réseau, le coût du filtrage en termes de performances, et autres critères pertinents.
bon, une façon de faire dans la réponse de netsurfeur, donc ma réaction, c'est plus du coupage de cheveux en quatre qu'autre chose :-)
je me suis super relu pour essayer de pas tomber dans le troll sur ces sujets délicats. J'espère que je me suis pas trop raté ... Dans le doute, je le redis: je ne juge pas les choix fait sur ton réseau. C'est plus une réflexion à voi^W clavier haut ;-)
[^] # Re: rep
Posté par gaaaaaAab . Évalué à 1.
# Re: Comparaison de fichier - access.log de Squid
Posté par netsurfeur . Évalué à 2.
# grep -f
Posté par Bastien Mourgues . Évalué à 1.
grep -f domains.txt access.log (ou tail -20 access.log | grep -f domains.txt plus précisemment) ne suffit pas faire ce que tu cherches ?
# SARG
Posté par Laurent Mutricy . Évalué à 2.
On peut lire dans le man : -a [hostname|ip address] Limits report to records containing the specified hostname/ip address
http://sarg.sourceforge.net/sarg.php
# squidguard le fait en direct live
Posté par Yves Agostini (site web personnel) . Évalué à 1.
http://cri.univ-tlse1.fr/documentations/cache/squidguard.htm(...)
# Y a un truc qui s'appelle awk ....
Posté par totof2000 . Évalué à 2.
En plus si tyt'as plein de lognes a traiter, c'est beaucouop plus rapide que le shell.
Sinon y a Perl aussi qui est tres prise pour ce genre de tache.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.