Bonjour,
J'ai un gros souci, j'aimerai ecrire un script bash qui permet d'entrer un nom de domaine, exemple: www.free.fr et d'afficher tous les sous domaines du domaine entré puis effectuer un ping vers les sous domaines.
Bonjour,
J'ai un gros souci, j'aimerai ecrire un script bash qui permet d'entrer un nom de domaine, exemple: www.free.fr et d'afficher tous les sous domaines du domaine entré puis effectuer un ping vers les sous domaines.
Bonjour,
Tu as besoin de la commande ping, de la manipulation de variable bash ou echo + cut et de la builtin read, donc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part help read
Code : Sélectionner tout - Visualiser dans une fenêtre à part man cut
ça n'est pas possible.
j'ai un serveur DNS, dedans j'ai des machines qui ont un nom (rattaché au nom de domaine, comme "compta.domaine.net" par exemple ou "bureau-patron.domaine.net") mais je ne souhaite pas forcément que tout le monde puisse connaitre leur nom (même si elles ne sont pas accessibles depuis l'extérieur)
historiquement une requête de type AXFR permettait de lister tous les domaines d'un serveur, mais ça ne fonctionne heureusement plus depuis longtemps, actuellement les techniques permettant de recenser les sous-domaines reposent sur des requêtes "simples" aux DNS, du parsing de résultats google et du bruteforce sur des sous-domaines jugés classiques/récurrents
je rajouterai donc man host et/ou man dig pour compléter les réponses faites plus haut![]()
Bonjour, voici un exemple de code que j'ai realisé, mais il ne marche pas tres bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 !/bin/sh echo -n "entrer le domaine:" read dom echo "les sous domaines sont:" wget -q $dom dom2="$(echo $dom | sed 's/www\.//')" $dom cat index.html | grep -o "[a-z][a-z]*\."$dom2 | sort -u > sousdomains.txt cat domains.txt # affichage du fichier sousdomains.txt
voici les resultats que j'attends du programme :
entré un nom de domaine: www.google.fr Sous domaines appartenant a www.google.fr on = repond au ping off = ne repond pas au ping books.google.fr => 209.85.229.100(on) 209.85.229.101(on) 209.85.229.102(on) maps.google.fr => 72.14.235.104(on) news.google.fr => 209.85.229.99(on) 209.85.229.104(on) 209.85.229.147(on) video.google.fr => 209.85.229.100(on) 209.85.229.101(off) 209.85.229.102(on) www.google.fr => 66.249.92.104(on)
Bonjour
[a-z][a-z]* est équivalent à [a-z]\+.
Il manque "sous". Là, tu n'affiches pas le bon fichier.cat domains.txt # affichage du fichier sousdomains.txt
Pour le reste, à toi de prendre ton programme pas-à-pas et voir où il ne donne pas le résultat attendu.
Pas testé ton programme, mais en bash (et je dis bien en bash) tu peux modifier ta ligne 10 par une syntaxe tel que la 2ème ligne ci-dessous:
Au pire, tu peux garder ta syntaxe, mais je pense que le $dom en fin de ligne 10 est de trop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $ dom=www.google.fr $ dom2=${dom/www./} $ echo $dom www.google.fr $ echo $dom2 google.fr
rien ne marche
voici les résultats attendus
entré un nom de domaine: www.google.fr
Sous domaines appartenant a www.google.fr
on = repond au ping
off = ne repond pas au ping
books.google.fr => 209.85.229.100(on) 209.85.229.101(on) 209.85.229.102(on)
maps.google.fr => 72.14.235.104(on)
news.google.fr => 209.85.229.99(on) 209.85.229.104(on) 209.85.229.147(on)
video.google.fr => 209.85.229.100(on) 209.85.229.101(off) 209.85.229.102(on)
www.google.fr => 66.249.92.104(on)
En gros je vous explique le programme permettra de saisir un domaine, exemple: www.google.fr et va afficher par la suite les sous domaines du domaine saisi et faire un ping sur les sous domaines
Partager