Announcement

Collapse
No announcement yet.

detection automatique du réseau

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Salut comme on te l'a dit précédemment il vaut mieux dans ton cas effectuer la supervision sur les "serveurs" et matériels réseaux importants :

    100 routeurs, 80 switchs, 30 hubs, et 50 serveurs

    A mon avis ton réseau doit comporter pas mal de matériels identiques donc si tu en declares un dans oreon (avec les services appropriés )tu pourras le dupliquer autant de fois que tu veux et juste changer son adresse ip.

    Au final ca ne prendra pas si lontemps (j'espere ^^) et puis ca te fera la main sur une configuration.

    EDIT : pour les hubs , il n'y a pas d'adresse ip, je pense qu'une methode pour verifier qu'il fonctionne est de mettre l'adresse ip d'une machine connectée sur le hub, mais elle est faillible au cas ou cette machine tombe en panne (j'avais deja vu une autre methode comme mettre l'ip de ta machine de supervision mais je n'ai jamais testé)

    Comment


    • #17
      sinon, si tu sais scripter, tu peux te faire une petite moulinette simple qui te transforme ton format d'hotes nmap en format d'hotes nagios, mais pour ca il faut que nmap te remonte :
      host_name
      host_address
      alias -> tu mes le host_name ou le nom dns ou ce que tu veux

      pour le reste de la conf, tu colles un host template.

      Une fois que tu a une conf format nagios, tu la colle dans le case importer de Oreon et tout le boulot est fait

      (le plus long étant de scripter mais ce ne devrait pas être trop compliqué vu qu'il y a (au min) 3 paramètres à gérer)

      après, reste à te faire les hosts groups à la main (facile)
      puis à assiggner les services (facile)
      -> roule ma poule

      PS si tu as le format de sortie de nmap, je veux bien y jeter un oeil

      Gaëtan

      Comment


      • #18
        Originally posted by gae View Post
        sinon, si tu sais scripter, tu peux te faire une petite moulinette simple qui te transforme ton format d'hotes nmap en format d'hotes nagios, mais pour ca il faut que nmap te remonte :
        host_name
        host_address
        alias -> tu mes le host_name ou le nom dns ou ce que tu veux

        pour le reste de la conf, tu colles un host template.

        Une fois que tu a une conf format nagios, tu la colle dans le case importer de Oreon et tout le boulot est fait

        (le plus long étant de scripter mais ce ne devrait pas être trop compliqué vu qu'il y a (au min) 3 paramètres à gérer)

        après, reste à te faire les hosts groups à la main (facile)
        puis à assiggner les services (facile)
        -> roule ma poule

        PS si tu as le format de sortie de nmap, je veux bien y jeter un oeil

        Gaëtan
        je ne sais pas scripter !

        tu veut parler d'un scan nmap et la sortie se fait sous fichier xml ?

        parce que çà je l'ai !

        Comment


        • #19
          poste quelques hotes en xml, et je vois ce que je peux faire

          Comment


          • #20
            voilà :

            HTML Code:
            </host>
            <host><status state="up" />
            <address addr="10.223.X.X" addrtype="ipv4" />
            <hostnames />
            <ports><extraports state="closed" count="1693" />
            <port protocol="tcp" portid="22"><state state="open" /><service name="ssh" method="table" conf="3" /></port>
            <port protocol="tcp" portid="23"><state state="open" /><service name="telnet" method="table" conf="3" /></port>
            <port protocol="tcp" portid="80"><state state="open" /><service name="http" method="table" conf="3" /></port>
            <port protocol="tcp" portid="443"><state state="open" /><service name="https" method="table" conf="3" /></port>
            </ports>
            <os><portused state="open" proto="tcp" portid="22" />
            <portused state="closed" proto="tcp" portid="1" />
            <osclass type="WAP" vendor="Aironet" osfamily="IOS" osgen="12.X" accuracy="100" />
            <osmatch name="Cisco Aironet 350 WAP running IOS 12.3" accuracy="100" line="119" />
            <osfingerprint fingerprint="
            SCAN(V=4.20%D=6/23%OT=22%CT=1%CU=%PV=Y%DS=1%G=N%TM=467D7754%P=i686-pc-linux-gnu)
            OPS(O1=M5B4%O2=M578%O3=M280%O4=M218%O5=M218%O6=M109)
            WIN(W1=1020%W2=1020%W3=1020%W4=1020%W5=1020%W6=1020)
            ECN(R=Y%DF=N%TG=FF%W=1020%O=M5B4%CC=N%Q=)
            T1(R=Y%DF=N%TG=FF%S=O%A=S+%F=AS%RD=0%Q=)
            T2(R=Y%DF=N%TG=FF%W=0%S=A%A=S%F=AR%O=%RD=0%Q=)
            T3(R=N)
            T4(R=Y%DF=N%TG=FF%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
            T5(R=Y%DF=N%TG=FF%W=0%S=A%A=S+%F=AR%O=%RD=0%Q=)
            T6(R=Y%DF=N%TG=FF%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
            T7(R=Y%DF=N%TG=FF%W=0%S=A%A=S%F=AR%O=%RD=0%Q=)
            U1(R=N)
            IE(R=Y%DFI=S%TG=FF%TOSI=S%CD=S%SI=S%DLI=S)
            " />
            </os>
            <distance value="1" />
            </host>
            un autre :

            HTML Code:
            <host><status state="up" />
            <address addr="10.223.x.x" addrtype="ipv4" />
            <hostnames />
            <ports><extraports state="closed" count="1694" />
            <port protocol="tcp" portid="5000"><state state="open" /><service name="UPnP" method="table" conf="3" /></port>
            <port protocol="tcp" portid="5001"><state state="open" /><service name="commplex-link" method="table" conf="3" /></port>
            <port protocol="tcp" portid="5011"><state state="open" /><service name="telelpathattack" method="table" conf="3" /></port>
            </ports>
            <os><portused state="open" proto="tcp" portid="5000" />
            <portused state="closed" proto="tcp" portid="1" />
            <portused state="closed" proto="udp" portid="43205" />
            <osclass type="printer" vendor="Xerox" osfamily="embedded" accuracy="96" />
            <osclass type="switch" vendor="3Com" osfamily="embedded" accuracy="94" />
            <osclass type="switch" vendor="Avaya" osfamily="embedded" accuracy="91" />
            <osclass type="print server" vendor="HP" osfamily="embedded" accuracy="91" />
            <osclass type="telecom-misc" vendor="Avaya" osfamily="embedded" accuracy="90" />
            <osclass type="switch" vendor="HP" osfamily="embedded" accuracy="89" />
            <osclass type="WAP" vendor="Netgear" osfamily="embedded" accuracy="87" />
            <osclass type="switch" vendor="Cisco" osfamily="CatOS" accuracy="86" />
            <osclass type="broadband router" vendor="Motorola" osfamily="VxWorks" accuracy="86" />
            <osclass type="printer" vendor="Konica Minolta" osfamily="embedded" accuracy="85" />
            <osclass type="VoIP gateway" vendor="Avaya" osfamily="embedded" accuracy="85" />
            <osclass type="general purpose" vendor="SCO" osfamily="OpenServer" accuracy="85" />
            <osfingerprint fingerprint="
            SCAN(V=4.20%D=6/23%OT=5000%CT=1%CU=43205%PV=Y%DS=1%G=N%TM=467D7754%P=i686-pc-linux-gnu)
            SEQ(SP=11%GCD=FA00%ISR=9C%TI=I%II=I%SS=O%TS=U)
            SEQ(SP=15%GCD=FA00%ISR=9C%TI=I%II=I%SS=S%TS=U)
            ECN(R=N)
            OPS(O1=%O2=%O3=%O4=%O5=%O6=)
            T1(R=Y%DF=N%T=40%S=O%A=S+%F=AS%RD=0%Q=)
            T1(R=N)
            WIN(W1=1000%W2=1000%W3=1000%W4=1000%W5=1000%W6=1000)
            T2(R=N)
            ECN(R=Y%DF=N%T=40%W=1000%O=%CC=N%Q=)
            T3(R=Y%DF=N%T=40%W=1000%S=O%A=O%F=A%O=%RD=0%Q=)
            T1(R=Y%DF=N%T=40%S=O%A=S+%F=AS%RD=0%Q=)
            T4(R=N)
            T2(R=N)
            T5(R=Y%DF=N%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)
            T3(R=Y%DF=N%T=40%W=1000%S=O%A=O%F=A%O=%RD=0%Q=)
            T6(R=Y%DF=N%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
            T4(R=Y%DF=N%T=40%W=1000%S=A%A=Z%F=R%O=%RD=0%Q=)
            T7(R=Y%DF=N%T=40%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)
            T5(R=Y%DF=N%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)
            U1(R=Y%DF=N%T=FF%TOS=0%IPL=38%UN=0%RIPL=G%RID=G%RIPCK=Z%RUCK=G%RUL=G%RUD=G)
            T6(R=Y%DF=N%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
            IE(R=Y%DFI=S%T=FF%TOSI=S%CD=S%SI=S%DLI=S)
            T7(R=Y%DF=N%T=40%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)
            U1(R=Y%DF=N%T=FF%TOS=0%IPL=38%UN=0%RIPL=G%RID=G%RIPCK=Z%RUCK=G%RUL=G%RUD=G)
            IE(R=Y%DFI=S%T=FF%TOSI=S%CD=S%SI=S%DLI=S)
            " />
            </os>
            <distance value="1" />
            </host>
            C'est vraiment très compliqué !
            je suis pas sur de tout comprendre !
            Merci de ton aide !



            http://city-max.miniville.fr/
            Last edited by max-lb; 27 June 2007, 10:35.

            Comment


            • #21
              ok, bien pris,

              il n'y a qu'un élément intéressant là dedans pour générer les hosts automatiquement, c'est l'adresse IP des hosts valides.

              après, si tu veux faire un truc plus complet, il doit être possible de créer des checks de service de manière automatique en parsant les ports ouverts sur chaque serveur.

              je te fait un truc simple qui interrogera le DNS pour récupérer le hos_name, je te met le même pour l'alias.

              Gaëtan

              Comment


              • #22
                c'est du très très basic mais ca devrait marcher :

                philo du script :
                1 recherche @IP dans le fichier xml généré par nmap
                2 fait un 'host' pour récupérer le nom du serveur sur le DNS
                3 met le tout au format nagios dans le fichier hosts.cfg


                dépendances : grep, cat, host, awk, bash, expr

                Code:
                #!/bin/bash
                
                USE="generic-host"
                OUT=./hosts.cfg
                
                echo -n "entrer le path + le nom du fichier xml genere par nmap ? "
                read XML
                
                if [ ! -f "$XML" ]; then
                        echo "fichier xml non trouve"
                        exit 2
                fi
                
                echo "entrer le nom du template pour tous les hosts (un seul pour simplifier)"
                echo -n "(faire du massive change apres sous Oreon pour le detail ..) ? [$USE]"
                read tmp
                
                if [ ! -z "$tmp" ]; then
                        USE=$tmp
                fi
                
                # recup des adresses IP des serveurs du reseau trouvees par nmap dans le fichier xml :
                # en super basic
                
                IP=(`cat $XML | grep '<address addr=' | awk '{ match($2, /addr="(.*)"/, ip); print ip[1]; }' `)
                
                # creation fichier (une petite en tete pour faire joli
                
                echo "#auto host.cfg depuis nmap generated by nmap2nagios v0.01beta" > $OUT
                echo "" >> $OUT
                
                # on passe aux choses serieuses
                
                i=0
                while [ ! -z "${IP[$i]}" ]; do
                        # recuperation du nom dans le DNS (super basic de chez basic)
                        HOST_NAME=`host ${IP[$i]} | awk '{ print $5 }' | grep '\.'`
                
                        if [ -z "$HOST_NAME" ]; then
                                echo "no name found in DNS for IP ${IP[$i]}, using name \"auto"$i"\""
                                HOST_NAME="auto$i"
                        fi
                
                        # creation de l'host format Nagios et stockage dans le fichier
                        echo "define host {" >> $OUT
                        echo "     host_name     $HOST_NAME" >> $OUT
                        echo "     use           $USE"       >> $OUT
                        echo "     alias         $HOST_NAME" >> $OUT
                        echo "     address       ${IP[$i]}"  >> $OUT
                        echo "}" >> $OUT
                        echo ""  >> $OUT
                
                        i=`expr $i + 1`
                done
                
                
                echo "fin du parsage, ouvrir le fichier ./hosts.cfg genere par le script"
                echo "copier son contenu et le coller dans Oreon sous :"
                echo "configuration -> nagios -> import"
                echo "clic sur \"load\""
                echo "the end"
                copie le script de dessus,
                colle le dans un fichier exemple : nmap2nagios_hosts
                lance le : bash ./(nom_fichier)
                répond aux questions
                et voilà


                Gaé
                Last edited by gae; 26 June 2007, 16:20.

                Comment


                • #23
                  c'est marrant, c'est pas ce que fait déjà nmap2nagios.pl ? (http://sourceforge.net/projects/nmap2nagios/)



                  Concernant mon module d'import, pas de date de sortie pour le moment, étant donner que je bosse dessus uniquement le soir, et que j'essaye de faire un truc à peu prés propre, mais ça avance bien, je mettrais peut etre qq captures, pour avoir votre avis.

                  Bon courage à tous !
                  StatusMap Module - NDO Tools Module - ImportCSV Module - SNMP-UI Module - PDFReports Module
                  Dons Paypal

                  Comment


                  • #24
                    connaissait pas ....

                    ca doit même certainement mieux marcher que mon pauvre scripts qui ne vérifie pas grand chose ...

                    Gaé

                    Comment


                    • #25
                      Je suis entrain de tester nmap2nagios.pl dans un premier temps, mais ça n'a pas l'air de fonctionner, chez moi en tout cas !

                      Il me met l'erreur suivante :

                      Code:
                      [[email protected] nmap2nagios-0.1.2]# ./nmap2nagios.pl –c nmap2nagios.conf –r nmap.xml –o config.cfg
                      bash: ./nmap2nagios.pl: /usr/local/bin/perl: bad interpreter: Aucun fichier ou répertoire de ce type
                      A votre avis d'ou vient le probleme ?
                      Faut il créer un lien symbolique ? si oui comment ? (Hé oui je sais ce que c'est mais je ne sais pas le faire !!! )

                      merci



                      http://city-max.miniville.fr/

                      Comment


                      • #26
                        Essais

                        Code:
                         perl nmap2nagios.pl –c nmap2nagios.conf –r nmap.xml –o config.cfg
                        StatusMap Module - NDO Tools Module - ImportCSV Module - SNMP-UI Module - PDFReports Module
                        Dons Paypal

                        Comment


                        • #27
                          Originally posted by wistof View Post
                          Essais

                          Code:
                           perl nmap2nagios.pl –c nmap2nagios.conf –r nmap.xml –o config.cfg
                          Ma commande n'était pas bonne ? (je m'en doutais un peu ! )
                          J'ai lancer ta commande et cela m'a donné çà :

                          Code:
                          [[email protected] nmap2nagios-0.1.2]#  perl nmap2nagios.pl –c nmap2nagios.conf –r nmap.xml –o config.cfg
                          nmap2nagios.pl: -h -v -i -r {'nmap_results_file'} -o {'output_file'}
                            -i Ignore Unknown Services
                            -v Verbose
                            -V Serious Verbose
                            -h This screen
                          C'est quoi le résultat ? ça à marcher ? sinon que faut il faire ?
                          merci





                          http://city-max.miniville.fr/

                          Comment


                          • #28
                            Originally posted by max-lb View Post
                            Je suis entrain de tester nmap2nagios.pl dans un premier temps, mais ça n'a pas l'air de fonctionner, chez moi en tout cas !

                            Il me met l'erreur suivante :

                            Code:
                            [[email protected] nmap2nagios-0.1.2]# ./nmap2nagios.pl –c nmap2nagios.conf –r nmap.xml –o config.cfg
                            bash: ./nmap2nagios.pl: /usr/local/bin/perl: bad interpreter: Aucun fichier ou répertoire de ce type
                            A votre avis d'ou vient le probleme ?
                            Faut il créer un lien symbolique ? si oui comment ? (Hé oui je sais ce que c'est mais je ne sais pas le faire !!! )

                            merci



                            http://city-max.miniville.fr/
                            dans un terminal fais
                            Code:
                            whereis perl
                            edite nmap2nagios.pl (avec vi ou autre...)
                            modifie la première ligne pour qu'elle pointe vers perl. ca doit etre de genre /usr/bin/perl
                            Regards,
                            Florin

                            Comment


                            • #29
                              Originally posted by max-lb View Post
                              Ma commande n'était pas bonne ? (je m'en doutais un peu ! )
                              J'ai lancer ta commande et cela m'a donné çà :

                              Code:
                              [[email protected]ost nmap2nagios-0.1.2]#  perl nmap2nagios.pl –c nmap2nagios.conf –r nmap.xml –o config.cfg
                              nmap2nagios.pl: -h -v -i -r {'nmap_results_file'} -o {'output_file'}
                                -i Ignore Unknown Services
                                -v Verbose
                                -V Serious Verbose
                                -h This screen
                              C'est quoi le résultat ? ça à marcher ? sinon que faut il faire ?
                              merci

                              c'est a dire que tu utilise des options de commandes qui ne sont pas gérés par le script.

                              essais juste :
                              Code:
                              perl nmap2nagios.pl –r nmap.xml –o config.cfg
                              StatusMap Module - NDO Tools Module - ImportCSV Module - SNMP-UI Module - PDFReports Module
                              Dons Paypal

                              Comment


                              • #30
                                Originally posted by fgrosu View Post
                                dans un terminal fais
                                Code:
                                whereis perl
                                edite nmap2nagios.pl (avec vi ou autre...)
                                modifie la première ligne pour qu'elle pointe vers perl. ca doit etre de genre /usr/bin/perl
                                j'ai tester ta commande voilà le résultat :

                                Code:
                                [[email protected] etc]# whereis perl
                                perl: /usr/bin/perl /opt/lampp/bin/perl /usr/share/man/man1/perl.1.gz
                                Je pense que c'est OK non ?



                                http://city-max.miniville.fr/

                                Comment

                                Working...
                                X