Escurial Posté(e) le 15 août 2010 Auteur Posté(e) le 15 août 2010 /etc/hosts.deny Merci pour cette r 0 Citer
lkfsoeiet374 Posté(e) le 15 août 2010 Posté(e) le 15 août 2010 Comme Escurial mon fichier /etc/hosts.deny est 0 Citer
Escurial Posté(e) le 15 août 2010 Auteur Posté(e) le 15 août 2010 Comme Escurial mon fichier /etc/hosts.deny est 0 Citer
lkfsoeiet374 Posté(e) le 16 août 2010 Posté(e) le 16 août 2010 J'ai bien peur que ça ne soit plus compliqué que ça cricx. Dans mon fichier il y a des caractères spéciaux, voir exemple ci-dessous: åõhL²?E^Ý correspondant à 178.63.69.10 Mon Aug 16 10:25:09 2010 J'ai essayé de taper une ip dans ce fichier, par exemple : 145.23.32.57 et dans l'interface je récupère 50.51.46.51 Tue Jul 26 18:05:05 1994 Donc en plus de l'adresse ip, la date de blocage doit être intégré dans cette ligne de code également. 0 Citer
cricx Posté(e) le 16 août 2010 Posté(e) le 16 août 2010 J'ai bien peur que ça ne soit plus compliqué que ça cricx. Dans mon fichier il y a des caractères spéciaux, voir exemple ci-dessous: åõhL²?E^Ý correspondant à 178.63.69.10 Mon Aug 16 10:25:09 2010 J'ai essayé de taper une ip dans ce fichier, par exemple : 145.23.32.57 et dans l'interface je récupère 50.51.46.51 Tue Jul 26 18:05:05 1994 Donc en plus de l'adresse ip, la date de blocage doit être intégré dans cette ligne de code également. oui, il doit y avoir la date. ça ne change rien à la logique. je pensais (sans avoir vu ce fichier qui n'existe pas chez moi) qu'il contenait une valeur sous forme de caractère ascii. Je vois là que ce n'est pas le cas, il utilise probablement un encodage propre au type de données (voir la commande pack en perl) sinon, pour les caractères que tu donnes, ça correspond à : perl -e 'for $car qw /å õ h L ² ? E ^ Ý/ { print ord($car);print " " }' 229 245 104 76 178 63 69 94 221 je vois une ressemblance (178 63 69) il faudrait déjà vérifier que le terminal que tu utilises est en ascii et pas en utf8. 0 Citer
lkfsoeiet374 Posté(e) le 16 août 2010 Posté(e) le 16 août 2010 Pour ce qui est du terminal j'uilise putty alors après savoir si c'est 'utf-8 ou non je ne sais pas comment vérifier ça (mod newbie activé). Tout ce que j'ai pu trouver dans la config de putty (Windows, translation) j'ai ISO8859-1 et non pas utf-8. Sinon je viens de ressaisir la ligne åõhL²?E^Ý et il me donne 178.63.69.94 Mon Aug 16 10:25:09 2010 J'ai donc du me tromper tout à l'heure (désolé) et du coup ton script semble fonctionner. Reste à savoir à quoi correspondrait les autres caractères. Autre exemple (je suis sur du résultat cette fois) ÃSiLÕö4z 213.246.52.122 Mon Aug 16 17:05:39 2010 Et avec ta ligne de code j'obtiens 195 83 105 76 213 246 52 122, ce qui correspondrait pas mal. Par contre je n'ai pas tout compris (perl je ne maitrise pas du tout) de ta ligne perl -e 'for $car qw /å õ h L ² ? E ^ Ý/ { print ord($car);print " " }' ce qu'elle faisait (je n'ai pas cherché non plus sur google je dois dire). Si la conversion avec ton script fonctionne cela veut-il dire qu'il sera envisageable (avec la méthode inverse) de saisir ces caracteres spéciaux dans ce fichier synoIPs.deny pour obtenir des i pbloquées ? 0 Citer
cricx Posté(e) le 16 août 2010 Posté(e) le 16 août 2010 Pour ce qui est du terminal j'uilise putty alors apr 0 Citer
lkfsoeiet374 Posté(e) le 16 août 2010 Posté(e) le 16 août 2010 Je me dis en même temps que la date de l'ip bloquée n'a pas une si grand importance (pour moi), tant que l'ip bloquée est correcte. Merci beaucoup pour toutes ces explications cricx. Grâce à toi je vais pouvoir ajouter des ips à la liste. J'ai donc tapé dans le terminal : perl -e 'for $car qw /195 83 105 76 213 246 52 122/ { print chr($car) }' 213 246 52 122 étant l'ip à bloquer, perl me retourne le résultat suivant, ÃSiLÕö4z code que je copie dans le fichier /etc/synoIPs.deny, et magie dans l'interface synology je récupère 213.246.52.122 Mon Aug 16 17:05:39 2010 Facile quoi Bravo à cricx pour avoir trouvé l'astuce. 0 Citer
cricx Posté(e) le 16 août 2010 Posté(e) le 16 août 2010 Je me dis en même temps que la date de l'ip bloquée n'a pas une si grand importance (pour moi), tant que l'ip bloquée est correcte. Merci beaucoup pour toutes ces explications cricx. Grâce à toi je vais pouvoir ajouter des ips à la liste. J'ai donc tapé dans le terminal : perl -e 'for $car qw /195 83 105 76 213 246 52 122/ { print chr($car) }' 213 246 52 122 étant l'ip à bloquer, perl me retourne le résultat suivant, ÃSiLÕö4z code que je copie dans le fichier /etc/synoIPs.deny, et magie dans l'interface synology je récupère 213.246.52.122 Mon Aug 16 17:05:39 2010 Facile quoi Bravo à cricx pour avoir trouvé l'astuce. tu n'as plus qu'à faire perl -e 'for $car qw /195 83 105 76 213 246 52 122/ { print chr($car) }'>>/etc/synoIPs.deny mais je crois qu'il vaudrait mieux arranger un peu le script pour qu'il ajoute à la liste l'ip donnée en paramètre. par exemple, en mettant la date 195 82 105 76 : créer un vrai script (un fichier ayant l'attribut d'exécution et un sheebang) : #!/usr/bin/perl -w $ip=$ARGV[0]; @listeoctets=split(/\./,$ip); @liste=qw/195 82 105 76/; push @liste,@listeoctets; for @liste {print chr($_)}; le lancer avec comme paramètre l'ip sous la forme a.b.c.d attention, il n'y a pas de contrôle de la validité du paramètre donné. 0 Citer
lkfsoeiet374 Posté(e) le 17 août 2010 Posté(e) le 17 août 2010 Merci pour ce script mais il m'indique une erreur : Syno> perl new.pl 213.246.52.122 syntax error at new.pl line 6, near "for @liste " Execution of new.pl aborted due to compilation errors. new.pl contient les instructions que tu as mentionn 0 Citer
cricx Posté(e) le 17 août 2010 Posté(e) le 17 août 2010 U Merci pour ce script mais il m'indique une erreur : Syno> perl new.pl 213.246.52.122 syntax error at new.pl line 6, near "for @liste " Execution of new.pl aborted due to compilation errors. new.pl contient les instructions que tu as mentionn 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.