Aller au contenu

Ou Est Le Fichier Qui Contient La Liste Des Ip Bloqu


Escurial

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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 :D

Bravo à cricx pour avoir trouvé l'astuce.

Lien vers le commentaire
Partager sur d’autres sites

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 :D

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é.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.