Bonjour, je veux executer une fonction sur mon serveur linux afin de tester un serveur DNS.
Bon la commande en Cli est : dig @adresseDNS www.site.com |grep time
cette commande permet de retourne le resultat suivant : ; ; Query Time =7ms par exemple
J'ai ecrit ce code afin que cette commande puisse etre executé en boucle ( tester plusieurs serveurs DNS sur plusieurs site)
Mais rien ne s'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; public class Dns { InputStreamReader flog = null; LineNumberReader llog = null; public int tail; public int taille() { try{ flog = new InputStreamReader(new FileInputStream("/home/marouene/Bureau/Liste.txt") ); llog = new LineNumberReader(flog); String myLine= null; int tail=0; while ((myLine = llog.readLine()) != null) { tail=tail+1; } }catch (Exception e){ // --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.) System.err.println("Error : "+e.getMessage()); } return tail; } public static void main(String[] args) { String tableauDNS[] = {"193.55.12.4","193.55.12.77"}; Dns dns= new Dns(); int tt =dns.taille(); String [] adresses =new String[tt]; InputStreamReader flog = null; LineNumberReader llog = null; String myLine= null; String line; try{ flog = new InputStreamReader(new FileInputStream("/home/marouene/Bureau/Liste.txt") ); llog = new LineNumberReader(flog); while ((myLine = llog.readLine()) != null) { // --- Affichage de la ligne lu depuis le fichier for (int f=0;f<tableauDNS.length;f++) { String testCmd = "dig @"+tableauDNS[f]+" "+ myLine+" |grep Query"; Runtime r = Runtime.getRuntime(); Process p = r.exec(testCmd); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); System.out.println(in.readLine()); //System.out.println("Temps de réponse pour la requete "+myLine+" pour le serveur DNS "+tableauDNS[f]+" est :" +in.readLine()); } } }catch (Exception e){ // --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.) System.err.println("Error : "+e.getMessage()); } } }
quand j'ajoute une boucle (white line <> null) le resultat sera affiché entierement comme si on utilise pas le grep|time
merci
Partager