Network Scanner module

Bonsoir à tous,
Je suis en train d’essayer de mettre en place le back-home & left-home dans Gladys. Après plusieurs recherche je suis tombée sur ce module: Networkscanner (https://github.com/GladysProject/gladys-networkscanner) qui, si j’ai bien saisie, scan tous les devices connectés à mon routeur.

J’ai suivi le readme sur Github:
Install the module in Gladys (Tout c’est bien passé ici)
Create a Gladys Param in Parametres => Parametres with name NETWORK_SCANNER_HOSTS. Put inside the IP range you want to scan at home. (Dans valeur par ex: 192.168.1.0/25) je ne sais pas si l’erreur vient de là, j’ai bien mis mon adresse IP + le range à scanner.

Create a Gladys param with name NETWORK_SCANNER_FREQUENCY_IN_MINUTE to define the frequency in minute to scan your network. (J’ai mis 15 min)

Reboot Gladys: ET LA PROBLEME!!! Gladys me met 502 error! J’ai un reboot. Mais rien n’y fait.

Voilà mon log, je vois bien que le problème vient de networkscanner mais je ne comprends pas ce qui ne va pas.
Une petite aide serait la bienvenue :slight_smile:

0|gladys | NetworkScanner will scan network each 15 minutes.
0|gladys | Error: spawn nmap ENOENT
0|gladys | at exports._errnoException (util.js:907:11)
0|gladys | at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
0|gladys | at onErrorNT (internal/child_process.js:344:16)
0|gladys | at nextTickCallbackWith2Args (node.js:442:9)
0|gladys | at process._tickDomainCallback (node.js:397:17)
0|gladys | /home/pi/gladys/node_modules/gladys/api/hooks/networkscanner/node_modules/node-nmap/index.js:66
0|gladys | this.child.kill();
0|gladys | ^
0|gladys | TypeError: Cannot read property ‘kill’ of undefined
0|gladys | at process.NmapScan.killChild (/home/pi/gladys/node_modules/gladys/api/hooks/networkscanner/node_modules/node-nmap/index.js:66:23)
0|gladys | at emitOne (events.js:82:20)
0|gladys | at process.emit (events.js:169:7)

Merci à tous

Je pense que tu as un problème avec la dépendance node-nmap utilisé par le module. Si je ne dis pas de connerie, il n’arrive pas a lancer la commande nmap, donc surrement pas installé.
Essayes de le réinstaller manuellement.

cd /home/pi/gladys/node_modules/gladys/api/hooks/networkscanner/ && npm install

Merci @Doctor pour l’info.
Je viens d’essayer, quand je fait nmp install dans le dossier networkscanner j’obtiens:
npm WARN package.json [email protected] No repository field.

et le log est inchangé:
NetworkScanner will scan network each 15 minutes.
0|gladys | Error: spawn nmap ENOENT
0|gladys | at exports._errnoException (util.js:907:11)
0|gladys | at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
0|gladys | at onErrorNT (internal/child_process.js:344:16)
0|gladys | at nextTickCallbackWith2Args (node.js:442:9)
0|gladys | at process._tickDomainCallback (node.js:397:17)
0|gladys | /home/pi/gladys/node_modules/gladys/api/hooks/networkscanner/node_modules/node-nmap/index.js:66
0|gladys | this.child.kill();
0|gladys | ^
0|gladys | TypeError: Cannot read property ‘kill’ of undefined
0|gladys | at process.NmapScan.killChild (/home/pi/gladys/node_modules/gladys/api/hooks/networkscanner/node_modules/node-nmap/index.js:66:23)
0|gladys | at emitOne (events.js:82:20)
0|gladys | at process.emit (events.js:169:7)
0|gladys | at process._fatalException (node.js:224:26)

Salut,

As-tu installé nmap sur le système ?
sudo apt-get install nmap

1 Like

Oh effectivement je n’ai pas précisé qu’il faut avoir nmap d’installé, je viens de rajouter ça dans le README => https://github.com/GladysProject/gladys-networkscanner

Bien vu !

Je vous remercie pour les infos,
Je regarde ça ce soir et je vous direz si c’est bon :blush:

Hello,

Petite question en rapport au readme de ce module, il ne faudrait pas plutôt mettre la range d’adresse à 192.168.1.0 /24 et pas /25 ? Je ne sais pas comment c’est en France mais en Belgique la plupart des réseaux locaux ont ce masque là.

EDIT: On the same module but not exactly topic : I’m trying to install NetworkScanner but receive an error when trying to install it with Advanced Installation tab in Gladys and nothing show up in the logs. When I enter the info, if I put “Network scanner” as name and the https url of the repo it should be fine, right ? Is it explained somewhere how to install modules ? I didn’t find it …
Thanks !

Ah, je t’avoue que j’ai un peu mis ça comme ça, c’est un peu à la responsabilité de l’utilisateur de trouver son range en fonction de sa box :slight_smile:

Après je crois qu’avec nmap on peut mettre des ranges types : 192.168.1.0-200 par exemple.

Pour installer tu dois mettre le “slug” à “networkscanner”, c’est ça le plus important. le slug c’est le nom du dossier dans lequel sera installé le module, ça détermine aussi le nom du service, super important :slight_smile:

Bonsoir,

Ca à fonctionné après avoir installé nmap. Networkscanner trouve 3 devices. En revanche juste après j’ai des erreurs :confused:

Voici le log, es-ce qu’il faut installer autre choses?
0|gladys | -------------------------------------------------------
0|gladys | :: Tue Apr 18 2017 19:28:23 GMT+0000 (UTC)
0|gladys | Environment : production
0|gladys | Port : 8080
0|gladys | -------------------------------------------------------
0|gladys | NetworkScanner will scan network each 15 minutes.
0|gladys | Gladys is up to date !
0|gladys | Network scan completed. Found 3 devices.
0|gladys | Unhandled rejection Error: NotFound
0|gladys | at /home/pi/gladys/node_modules/gladys/api/core/utils/utils.sql Unique.js:8:39
0|gladys | at tryCatcher (/home/pi/gladys/node_modules/gladys/node_modules /bluebird/js/release/util.js:16:23)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modu les/gladys/node_modules/bluebird/js/release/promise.js:512:31)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/gladys/ node_modules/bluebird/js/release/promise.js:569:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/gladys /node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/gladys /node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/gladys/node_m odules/bluebird/js/release/promise.js:638:18)
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/bluebird/js /release/nodeback.js:42:21
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails-mysql /lib/connections/spawn.js:120:16
0|gladys | at Object.module.exports.poolfully [as releaseConnection] (/hom e/pi/gladys/node_modules/gladys/node_modules/sails-mysql/lib/connections/release .js:28:12)
0|gladys | at Query._callback (/home/pi/gladys/node_modules/gladys/node_mo dules/sails-mysql/lib/connections/spawn.js:105:35)
0|gladys | at Query.Sequence.end (/home/pi/gladys/node_modules/gladys/node _modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24 )
0|gladys | at Query._handleFinalResultPacket (/home/pi/gladys/node_modules /gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Query .js:144:8)
0|gladys | at Query.EofPacket (/home/pi/gladys/node_modules/gladys/node_mo dules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Query.js:128:8)
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/gladys/n ode_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/gladys/node_modul es/sails-mysql/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/gladys/node_mod ules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/gladys/node _modules/sails-mysql/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:77:13)
0|gladys | at Socket.emit (events.js:169:7)
0|gladys | at readableAddChunk (_stream_readable.js:153:18)
0|gladys | at Socket.Readable.push (_stream_readable.js:111:10)

ah, je n’ai pas précisé, est-ce que tu as bien:

  • Défini ta maison dans Gladys
  • Créé une “machine” dans les paramètres Gladys correspondant à ton Raspberry Pi et situé dans ta maison ?
1 Like

Ma maison est défini, mais effectivement j’avais oublié de créer une machine.
Cependant toujours des petites erreurs:

Network scan completed. Found 4 devices.
0|gladys | Unhandled rejection Error (E_VALIDATION) :: 1 attribute is invalid
0|gladys | at WLValidationError.WLError (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/error/WLError.js:25:15)
0|gladys | at new WLValidationError (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/error/WLValidationError.js:19:28)
0|gladys | at _afterValidating (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/query/validate.js:53:23)
0|gladys | at allValidationsChecked (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/core/validations.js:265:12)
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:52:16
0|gladys | at Object.async.forEachOf.async.eachOf (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:236:30)
0|gladys | at Object.async.forEach.async.each (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:209:22)
0|gladys | at Validator.validate (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/core/validations.js:144:9)
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/query/validate.js:42:25
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:718:13
0|gladys | at Immediate.iterate [as _onImmediate] (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:262:13)
0|gladys | at processImmediate [as _immediateCallback] (timers.js:383:17)

Mmmm… est-ce que dans ta vue “Mes Devices” les périphériques sur le réseau sont apparus ?

Bonjour a tous,
J’ai le même problème que Mmarion
rien dans “Mes devices”
Une petite idée ;o)

0|gladys | Network scan completed. Found 11 devices.
0|gladys | Unhandled rejection Error (E_VALIDATION) :: 1 attribute is invalid
0|gladys | at WLValidationError.WLError (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/error/WLError.js:25:15)
0|gladys | at new WLValidationError (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/error/WLValidationError.js:19:28)
0|gladys | at _afterValidating (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/query/validate.js:53:23)
0|gladys | at allValidationsChecked (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/core/validations.js:265:12)
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:52:16
0|gladys | at Object.async.forEachOf.async.eachOf (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:236:30)
0|gladys | at Object.async.forEach.async.each (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:209:22)
0|gladys | at Validator.validate (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/core/validations.js:144:9)
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/waterline/lib/waterline/query/validate.js:42:25
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:718:13
0|gladys | at Immediate.iterate [as _onImmediate] (/home/pi/gladys/node_modules/gladys/node_modules/sails/node_modules/sails-hook-orm/node_modules/async/lib/async.js:262:13)
0|gladys | at processImmediate [as _immediateCallback] (timers.js:383:17)

@2spy @Mmarrion : J’ai poussé un fix qui devrait corrigé votre problème.

Apparemment, il doit y avoir un périphérique sur votre réseau sans nom, et ça posait problème au moment de la création du device dans Gladys :slight_smile:

J’ai ajouté un check, ça devrait corriger !

Il vous suffit de supprimer le module => réinstaller, et hop!

suppression, réinstallation et hop! ça fonctionne ;o)
merci à toi super projet.

1 Like

Top! :slight_smile: Content que ça ait marché au final!

effectivement, pour ma part, j’avais du déclarer dans mon dns perso un nom pour mon téléphone :slight_smile: ca posait effectivement problème.

@pierre-gilles Je dois revérifier mais j’ai cru voir que j’ai le téléphone de ma femme qui créer plusieurs devices identiques dans Gladys

1 Like

Si le nom (hostname) du tel à changé, c’est possible…

Bonsoir à tous,
J’étais en déplacement je n’ai pas pu tester jusqu’à ce soir!

Et ça fonctionne!!!
Au top!

Merci :slight_smile:

1 Like

Top! content que ça marche pour toi aussi :slight_smile: