#1 Le 28/08/2016, à 16:20
- Atlnet62
[Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Bonjour,
Je veux transformer une liste de nom de domaine en liste d'ip. Pour cela je fait appel à un script utilisant la commande nslookup (tester aussi avec dig +short).
#!/bin/bash
blocage_ip=/home/user/blocage_ip.ips
domaine=/home/user/blocage_dom.txt
while read line
do
sleep 1
echo $line;
nslookup $line | awk '/^Address: / { print $2 }'; #dig +short $line
done < $domaine >$blocage_ip
Quand je tape le code (ci dessous) dans la console ca fonctionne.
nslookup google.fr | awk '/^Address: / { print $2 }'
il renvoie bien :
216.58.203.227
idem pour :
dig +short google.fr
il renvoie :
216.58.203.227
Mais quand je fais tourner le script, dans le fichier ou il est censé copie les ip, j'ai des lignes vides.
Connaissez vous ce problème ?
Merci par avance.
Dernière modification par Atlnet62 (Le 30/08/2016, à 23:23)
OS : Mythbuntu 14.04.5 LTS
Hors ligne
#2 Le 28/08/2016, à 16:46
- pingouinux
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Bonjour,
Es-tu sûr que ton nom d'utilisateur est user ?
Il faudrait que tu montres le contenu du fichier /home/user/blocage_dom.txt
Hors ligne
#3 Le 28/08/2016, à 20:34
- Atlnet62
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Bonjour,
Je confirme (user) c'est bien le bon nom qui est entré.
et le contenu du fichier :
___id___.c.mystat-in.net
_thums.ero-advertising.com
0.r.msn.com
0.start.bz
000007.ru
0000mps.webpreview.dsl.net
0001.2waky.com
000cc.com
000dom.revenuedirect.com
000-search.net
00119922.com
001edizioni.com
001wen.com
005.free-counter.co.uk
006.free-adult-counters.x-xtra.com
006.free-counter.co.uk
006.freecounters.co.uk
007.free-counter.co.uk
007.go2cloud.org
0075-7112-e7eb-f9b9.reporo.net
008.free-counter.co.uk
008.free-counters.co.uk
OS : Mythbuntu 14.04.5 LTS
Hors ligne
#4 Le 28/08/2016, à 20:43
- pingouinux
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Ton script fonctionne parfaitement chez moi.
Hors ligne
#5 Le 29/08/2016, à 18:53
- Atlnet62
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Bonjour,
Je commence a penser que c'est du au fait que j'utilise Mythbuntu 14.04, car j'ai encore regardé et : pas de pb de droits sur les fichiers et comme il enregistre des espaces vides c'est qu'il y a accès. Tu tournes sur quelle version d'Ubuntu ?
OS : Mythbuntu 14.04.5 LTS
Hors ligne
#6 Le 29/08/2016, à 19:08
- pingouinux
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Tu tournes sur quelle version d'Ubuntu ?
Ubuntu 14.04.5 LTS
Ajouté :
Peux-tu donner le retour de
ls -l /home/user/blocage_dom.txt /home/user/blocage_ip.ips
Dernière modification par pingouinux (Le 29/08/2016, à 20:06)
Hors ligne
#7 Le 30/08/2016, à 11:45
- Atlnet62
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Salut,
ci joint la réponse :
-rwxrwxrwx 1 user user 44 août 28 14:40 blocage_dom.txt
-rwxrwxrwx 1 user user 0 août 28 16:47 blocage_ip.ips
OS : Mythbuntu 14.04.5 LTS
Hors ligne
#8 Le 30/08/2016, à 16:21
- pingouinux
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
La longueur du fichier blocage_dom.txt en #7 ne correspond pas à celle du fichier que tu montres en #3.
Tu n'as pas lancé la commande telle que je te l'ai demandée en #6.
Hors ligne
#9 Le 30/08/2016, à 19:24
- Atlnet62
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Oui logique pour 2 raisons :
J'ai été directement dans le dossier pour faire :
ls -l
et j'ai modifié le fichier :
blocage_dom.txt
en mettant des domaines simples comme (google.fr, free.fr, ...)
pour faire des tests.
J'ai remis à l'origine de mon post.
-rwxrwxrwx 1 user user 459 août 30 20:17 /home/user/firewall/blocage_dom.txt
-rwxrwxrwx 1 user user 0 août 30 12:44 /home/user/firewall/blocage_ip.ips
OS : Mythbuntu 14.04.5 LTS
Hors ligne
#10 Le 30/08/2016, à 19:27
- pingouinux
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Dans ton script en #1
domaine=/home/user/blocage_dom.txt
Ton fichier réel
/home/user/firewall/blocage_dom.txt
Hors ligne
#11 Le 30/08/2016, à 22:18
- Atlnet62
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Ok, j'ai fait la modification, mais toujours le même résultat
nouveau script :
#!/bin/bash
blocage_ip=/home/user/firewall/blocage_ip.ips
domaine=/home/user/firewall/blocage_dom.txt
while read line
do
sleep 1
#echo $line;
nslookup $line | awk '/^Address: / { print $2 }'; #dig +short $line
done < $domaine >$blocage_ip
C'est tordu ...
par contre j'ai fait une modif pour essayer de voir la commande en direct et non plus l'enregistrement dans un fichier. Ce que je vois c'est 0 adresse IP il me renvoie des lignes vides
ci joint le script :
#!/bin/bash
blocage_ip=/home/user/firewall/blocage_ip.ips
domaine=/home/user/firewall/blocage_dom.txt
while read line
do
sleep 1
#echo $line;
echo $(nslookup $line | awk '/^Address: / { print $2 }');
done < $domaine #>$blocage_ip
Edit :
/!\ J'ai trouvé le problème : le fichier texte blocage_dom.txt a été écrit sous windows avec notepad++ (saut de ligne configuré unix), et j'ai réécrit le fichier avec gedit sous mythbuntu >> enregistrer le fichier a la place de l'autre et miracle ca fonctionne parfaitement.
Maintenant pourquoi ça ne fonctionne pas avec la config de notepad en unix, c'est le mystère ...
Cependant je te remercie pour ta patience et ton aide sur ce sujet.
Dernière modification par Atlnet62 (Le 30/08/2016, à 23:17)
OS : Mythbuntu 14.04.5 LTS
Hors ligne
#12 Le 31/08/2016, à 01:25
- pingouinux
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Maintenant pourquoi ça ne fonctionne pas avec la config de notepad en unix, c'est le mystère ...
C'est parce que sous windows, les lignes se terminent par \r\n, et sous linux par \n. Je n'avais pas pensé à ça…
Hors ligne
#13 Le 31/08/2016, à 19:22
- Atlnet62
Re : [Résolu] Script avec nslookup et ou dig +short (nom domaine ==> IP)
Merci pour cette explication.
OS : Mythbuntu 14.04.5 LTS
Hors ligne