#1 Le 04/03/2014, à 16:08
- jean-luc5629
script pour récupérer toutes les ip d'un domaine dans un for [résolu]
Bonjour;
Pour réaliser et mettre à jour une whitelist, avec des noms de domaines (les ip changeant parfois, je suis parti sur le script suivant :
echo > /usr/local/bin/listdir/list1
while read line
do
ip=$(dig +short $line)
echo $line" "$ip>> /usr/local/bin/listdir/list1
done < /usr/local/bin/listdir/list
sed -i '/^$/d' /usr/local/bin/listdir/list1
Dans un fichier list formaté comme celui ci :
webmin.com
free.fr
google.com
Mais je me trouve confronté à un os !! (pas très doué..), car certains domaines ont plusieurs ip, et avec le script ci dessus j'obtiens dans mon fichier list1 ceci :
webmin.com 216.34.181.97
free.fr 212.27.48.10
google.com 173.194.34.3 173.194.34.4 173.194.34.5 173.194.34.6 173.194.34.7 173.194.34.8 173.194.34.9 173.194.34.14 173.194.34.0 173.194.34.1 173.194.34.2
alors que je voudrais obtenir ceci pour respecter le format de la whitelist :
webmin.com 216.34.181.97
free.fr 212.27.48.10
google.com 173.194.34.3
google.com 173.194.34.4
google.com 173.194.34.5
google.com 173.194.34.6
google.com 173.194.34.7
etc...
Merci d'avance.
Dernière modification par jean-luc5629 (Le 05/03/2014, à 10:20)
Hors ligne
#2 Le 04/03/2014, à 16:41
- pingouinux
Re : script pour récupérer toutes les ip d'un domaine dans un for [résolu]
Bonjour,
Essaye ceci :
while read line
do
ip=$(dig +short $line)
awk -v line="$line" '{for(i=2;i<=NF;i++)print line" "$i}' <<<"$ip"
done < /usr/local/bin/listdir/list >/usr/local/bin/listdir/list1
Hors ligne
#3 Le 04/03/2014, à 16:43
- Nasman
Re : script pour récupérer toutes les ip d'un domaine dans un for [résolu]
Et la même chose en black list avec hadopi, tmg...
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#4 Le 05/03/2014, à 00:10
- jean-luc5629
Re : script pour récupérer toutes les ip d'un domaine dans un for [résolu]
Bonjour,
Essaye ceci :while read line do ip=$(dig +short $line) awk -v line="$line" '{for(i=2;i<=NF;i++)print line" "$i}' <<<"$ip" done < /usr/local/bin/listdir/list >/usr/local/bin/listdir/list1
Merci;
désolé, mais list1 reste désespérément vide...
Hors ligne
#5 Le 05/03/2014, à 07:16
- pingouinux
Re : script pour récupérer toutes les ip d'un domaine dans un for [résolu]
Désolé aussi. Ceci devrait mieux convenir :
while read line
do
while read ip
do
echo "$line $ip"
done < <(dig +short $line)
done < /usr/local/bin/listdir/list >/usr/local/bin/listdir/list1
Hors ligne
#6 Le 05/03/2014, à 07:17
- nesthib
Re : script pour récupérer toutes les ip d'un domaine dans un for [résolu]
plus simple que la commande de pingouinux :
while read line
do
dig +short $line | xargs -L1 echo $line
done </usr/local/bin/listdir/list >/usr/local/bin/listdir/list1
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 05/03/2014, à 10:19
- jean-luc5629
Re : script pour récupérer toutes les ip d'un domaine dans un for [résolu]
Bonjour;
Grand merci à vous deux...ça roule cette fois ci.
merci.
Hors ligne