Aller au contenu

Featured Replies

Posté(e)

Bonsoir !!

Voila j'ai réalisé un nouveau script qui permet :

- De connaitre les périphériques connectés au réseau local

- De specifier une liste de périphériques connus et de les allumer a distance (si ils supportent le wake on lan)

Le tout via une interface web

Les peripheriques peuvent avoir trois etats :

- Connected : périphérique enregistré comme connu et connecté

- Not connected : périphérique enregistré comme connu mais non connecté (dans ce cas on peut demander le reveil)

- Unknown host : péripherique non enregistre et connecté

(les périphériques non enregistrés et non connectés n'apparaissent evidemment pas... ^^)

Ce script a été testé sur un DS-106e... mais doit fonctionner sur tout les Syno (DS, CS, RS) et plus généralement sur tout environnement linux ^^

Voila a quoi cela ressemble

imagezf1.th.jpg

Et l'installation :

Network Monitor by KahRiboo How To install :


Prérequis :

- telnet installé

- "nmap" et "net-tools" installé (via ipkg...)


Installation :

- Copier networkmon dans /usr/syno/bin

- chmod 755 /usr/syno/bin/networkmon


Note : 

via php par défaut seul les executable dans /usr/syno/bin sont executable... sinon vous pouvez configurer

php pour qu'il puisse executer tous les executables...


- Configurer le script : vi /usr/syno/bin/networkmon

KNOWN_MAC='00:0F:45:36:95:8F 00:98:32:01:45:09 00:E4:09:EF:45:78'

contient la liste des adresse MAC que vous connaissez sur votre réseau séparés par un espace


KNOWN_ALIAS='Netgear_Router Syno LOCAL_PC'

Contient les alias des adresse MAC definies avant (un nom qui vous plait ^^) l'ordre doit etre le meme (séparés par un espace aussi)


MY_NETWORK='192.168.0.0/24'

Le reseau sur lequel on cherche les connexions actives


- Copier index.php et style.css dans un repertoire de web


- Acces via http://ip_syno/repertoire/index.php



Note : si vous ne connaissez pas les adresses MAC de vos peripheriques executez une premiere

fois le script en mettant KNOWN_MAC et KNOWN_ALIAS = '' et vous verrez la liste des

peripheriques en tant qu'hotes inconnus...

Le lient pour télécharger : CLIQUEZ ICI

Voila j'attends vos commentaires avec plaisir !

KahRiboo

Posté(e)

Merci j'essaye ca ce soir...

Dis donc tu geres en prog toaaaa?

:clapping:

Posté(e)

>Voila j'ai réalisé un nouveau script qui permet :

>Voila j'attends vos commentaires avec plaisir !

bonjour

Super...

mais je n'arrive pas à faire fonctionner :(

ok: ipkg update

ok: ipkg install nmap

ok: ipkg install net-tools

/bin/networkmon /web/network et index.php masque 777

pas d'erreurs en commandes:

DiskStation> networkmon

DiskStation> networkmon getIPs

192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.5 192.168.1.10 192.168.1.20 192.168.1.31 192.168.1.32 192.168.1.33 192.168.1.34 192.168.1.35 192.168.1.36 192.168.1.37 192.168.1.38 192.168.1.39 192.168.1.42 192.168.1.52 192.168.1.151 192.168.1.152 192.168.1.200 192.168.1.211

DiskStation> LOCALHOST=`hostname`

DiskStation> networkmon getMac $LOCALHOST

00:11:32:00:FC:EC

DiskStation> networkmon getKnownMacs

DiskStation> networkmon getAliasMacs

DiskStation>

pas d'erreur sur la page index.php, juste le titre dans une table:

Mac Address Alias IP Address Status Wake On Lan

Une idée pour déboguer ?

merci

Posté(e)
  • Auteur

/bin/networkmon /web/network et index.php masque 777

Une idée pour déboguer ?

merci

networkmon doit etre dans /usr/syno/bin c'est le seul dossier executable depuis php...

ou alors faut que tu modifie la configuration de php...

Est-il bien dans ce dossier ?

KahRiboo

PS : wahou ca c'est du réseau ... tu as quoi comme machines ?

Posté(e)

networkmon doit etre dans /usr/syno/bin

zut, quel c**, je modifie...

ça marche pas mieux :((

et toujours pas de messages d'erreurs

>c'est le seul dossier executable depuis php...

amha, quand safe_mode est activé et si j'en crois mon phpsysinfo(), ce n'est pas le cas

>ou alors faut que tu modifie la configuration de php...

je vais allez voir les logs apache mais comme je crois qu'il n'y en a pas, je vais essayer de les activer.

on se tient au courant.

>PS : wahou ca c'est du réseau ... tu as quoi comme machines ?

un petit réseau d'une quinzaine de machines dans l'entreprise où je travaille. le syno (que je viens de prendre pour test) va me permettre d'utiliser des services serveurs 'différents' et de progresser dans ma démarche de sortir des griffes de fournisseurs 'historiques'. si suffisant, sinon, je passerai sur un serveur linux.

Posté(e)

Awesome :)

Alors là c'est le script de l'année !

Je vais tester egalement celà ce week-end , je ne pense pas pouvoir tester celà avant.

En tout cas , je trouve ca exellent.

Je cherchais un moyen de laisser uniquement mon syno d'allumer et de pouvoir faire du Wake-On-Lan sur mon gros PC :)

Voeux réalisé !

C'est noel avant noel ^^

Grand merci et je tiendrais au courant de mon installation si j'ai un problème.

Posté(e)
  • Auteur

>c'est le seul dossier executable depuis php...

amha, quand safe_mode est activé et si j'en crois mon phpsysinfo(), ce n'est pas le cas

Oui normalement c'est le cas que si le safe mode est activé... mais chez moi en testant j'ai remarqué que bien que le safe

mode n'etait pas activé seul ce répertoire etait utilsable par le exec de php... je ne sais pas pourquoi ...

d'ailleurs chez moi si je met le script dans /usr/syno/bin/ et que dans php j'execute exec('/opt/bin/networkmon') il me trouve

tout de même le script ... ce qui est assez etrange...

Sinon dans ta configuration php peux tu me dire les valeurs de :

safe_mode_exec_dir

open_basedir

Et Tu pourrais essayer de faire un script qui ne contient que

echo "toto"

et une page php ne contenant que

<?php

$res = exec('mon_script') ;

echo "res = ".$res ;

?>

pour etre sur que c'est bien un probleme lié a "exec" via php...

Posté(e)

Oui normalement c'est le cas que si le safe mode est activé... mais chez moi en testant j'ai remarqué que bien que le safe

mode n'etait pas activé seul ce répertoire etait utilsable par le exec de php... je ne sais pas pourquoi ...

d'ailleurs chez moi si je met le script dans /usr/syno/bin/ et que dans php j'execute exec('/opt/bin/networkmon') il me trouve

tout de même le script ... ce qui est assez etrange...

Sinon dans ta configuration php peux tu me dire les valeurs de :

safe_mode_exec_dir

open_basedir

Et Tu pourrais essayer de faire un script qui ne contient que

echo "toto"

et une page php ne contenant que

<?php

$res = exec('mon_script') ;

echo "res = ".$res ;

?>

pour etre sur que c'est bien un probleme lié a "exec" via php...

En fait le safe mode est activé, malgrés ce qu' indique phpinfo.

Mais on peu quand même utiliser la fonction exec.

Pour l'utiliser quelque soit le repertoire ou se trouve le script il faut modifier le php.ini comme suit:

safe_mode_exec_dir =

on peut aussi modifier ou commenter la ligne suivante:

; open_basedir =

mais dans ce cas php a acces à tous les répertoires depuis la racine.

Posté(e)
  • Auteur

Suite a un reboot de mon Syno j'ai obtenu le même probleme... (tableau vide) ...

Le probleme viens bien que par defaut les seuls executables utilisables via php sont dans /usr/syno/bin ....

donc pour résoudre le probleme :

ln -s /opt/bin/nmap /usr/syno/bin/nmap

ln -s /opt/sbin/arp /usr/syno/bin/arp

Pour que les commandes nmap et arp soit accessibles depuis le script PHP !

Ou alors modifier la config php (sans doute comme l'explique Mike913... car je n'ai pas essayé... je trouve que limiter les acces au systeme ce n'est pas plus mal)

Note : j'ai modifié le premier post pour preciser cela ainsi que la doc jointe...

Posté(e)

>Sinon dans ta configuration php peux tu me dire les valeurs de :

>open_basedir

et m**** j'avais mal commenté cette ligne pour faire fonctionner un script, j'avais utilisé # au lieu de ;

le script fonctionnait mais pas le tien, maintenant les deux fonctionnent, tout baigne.

>Et Tu pourrais essayer de faire un script qui ne contient que ...

inutile donc, merci de ton aide et honte à moi pour mes étourderies

Posté(e)

>Suite a un reboot de mon Syno j'ai obtenu le même probleme... (tableau vide) ...

pfuuu... je reboote....

même problème ! je ne vois pas sur quoi le reboot a agit :((

>donc pour résoudre le probleme :

par contre pour résoudre le problème, j'ai modifié le script networkmon :

IPs=`/opt/bin/nmap -n -PT80 -sP $MY_NETWORK | grep 'appears to be up' | awk '{print $2;}'`

	 MAC=`/opt/sbin/arp $IP | grep $IP | awk '{print $3;}'`

et ça marche aussi, open_base_dir comment ou non, après 2e reboot.

>Ou alors modifier la config php (sans doute comme l'explique Mike913...

j'ai essayé avant le reboot et cela marchait.

comme arp et nmap ne sont pas dans le script php, je pense plutôt que cela vient de l'environnement accessible à apache qui a changé après le reboot. pourquoi ?

m'enfin linux rend humble quand on a pratiqué windows jusque là.

Posté(e)
  • Auteur

Merci pour ces précisions... :give_rose:

J'ai donc mis a jour le script pour eviter les 'ln -s' ...

Le premier post a été mis a jour !

Voila a présent je pense qu'on a fait le tour des problemes... alors téléchargez librement ^^

KahRiboo_{Qui_reflechis_a_quel_script_il_va_pouvoir_faire_a_present}

Posté(e)

Bonsoir,

Sa devient bon tous ces petits scripts qui fleurissent !

Je prends et je testerai çà l’année prochaine.

Les jours sont trop courts cette année.

Merci, :air_kiss:

Fred.

Posté(e)

Bonsoir,

Ca marche de mon coté , donc grandmerci.

Par contre , j'ai un petit problème de reconnaissance

Le tableau affiche

00:00:00:00:00:00 kitano Not connected Wake Up

00:00:00:00:00:00 WGRT Not connected Wake Up

unknown 192.168.1.1 Unknown host Waked

unknown 192.168.1.2 Unknown host Waked

xx:xx:xx:xx:xx:xx unknown 192.168.1.5 Unknown host Waked

(l'adesse MAC dy syno est maque)

En gros, il voit deux unknown machine qui sont référencer dans le fichier (dans cet exemple les 00.00.00.00.00) sont les réels adresses mac des alias kitano et WGRT

Donc , je comprend pas trop pourquoi il ne reconnait pas les adresses mac que je lui indique.

Et comme je le dis , l'exemple est maqué (les 00.00.00.00.00 sont réellement renseigné avec lesadrresses mac de ma machine et du routeur)

D'avance merci

Posté(e)

Par contre , j'ai un petit problème de reconnaissance

En gros, il voit deux unknown machine qui sont référencer dans le fichier

ça m'arrive aussi, sur plusieurs postes (nb aléatoire).

quand j'ai jeté un oeil au démarrage, nmap en ligne de commande fournissait pourtant bien les infos. j'ai pas encore cherché plus loin, mais je peux aider à tester si KahRiboo s'ennuie ;)

Posté(e)

Je suis trés interessé par la réponse , car le problème est que lorsque le machine non reconnue est démarré , je vois une machine Unknown en état Waked

Mais lorsqu'elle est eteinte , elle est totalement invisable, donc une impossibilité à effectuer un wake-on-lan dessus.

Posté(e)
  • Auteur

Bon en fait c'est un oublie dans mon script :

Ligne 37 :

Remplacer :

MAC=`/opt/sbin/arp $IP | grep $IP | awk '{print $3;}'`

par

MAC=`/opt/sbin/arp $IP | tail -1 | awk '{print $3;}'`

Normallement je pense que cela devrait marcher ... en tout cas chez moi ca marche....

Si la correction se confirme chez vous je mettrai la nouvelle version en ligne !

Pour les curieux le probleme venait du fait que le arp renvoie deux lignes (les entete et la ligne d'info) et via le grep $IP je selectionnais la seconde ligne (ou l'IP apparaissait) mais parfois au lieu de l'IP j'avais le nom de la machine d'ou le probleme... je l'ai donc remplacé par un tail -1 ...

Je suis trés interessé par la réponse , car le problème est que lorsque le machine non reconnue est démarré , je vois une machine Unknown en état Waked

Donc cette erreur doit etre corrigée... (et tu devais surement aussi avoir la machine reférencée en tant que deconnectée je pense)...

Mais lorsqu'elle est eteinte , elle est totalement invisable, donc une impossibilité à effectuer un wake-on-lan dessus.

La par contre je ne comprends pas trop d'ou vient le probleme... car une machine référencée normalment doit toujours etre présente dans la ligne.... donc sauf si c'est un effet de bord de l'erreur je ne vois pas trop d'ou cela vient... donc pourra tu preciser si le probleme persiste : la config de ton script, une copie de la page html générée, et un petit texte descriptif de l'etat que tu aurais du avoir ^^

Voila et desolé pour le retard !

Et bonne année !!!!

KahRiboo

Posté(e)

Remplacer :

MAC=`/opt/sbin/arp $IP | grep $IP | awk '{print $3;}'`

par

MAC=`/opt/sbin/arp $IP | tail -1 | awk '{print $3;}'`

Normallement je pense que cela devrait marcher ... en tout cas chez moi ca marche....

je confirme, ça marche chez moi

>et tu devais surement aussi avoir la machine reférencée en tant que deconnectée je pense

oui

>Et bonne année !!!!

bonne année à toi et à tous

Posté(e)

je confirme, ça marche chez moi

>et tu devais surement aussi avoir la machine reférencée en tant que deconnectée je pense

oui

>Et bonne année !!!!

bonne année à toi et à tous

je confirme le fonctionnement avec un CS-406, par contre aux possesseurs de WRT54gs avec firmware gérant le WOL, pensez à activer le WOL pour chaque adresse mac dans l interface du routeur si cela n est pas fait vous verrez la machine comme WAKED quand elle est allumée et vous ne la verrez plus du tout quand elle est éteinte (donc WOL impossible)

Posté(e)
  • Auteur

je confirme le fonctionnement avec un CS-406, par contre aux possesseurs de WRT54gs avec firmware gérant le WOL, pensez à activer le WOL pour chaque adresse mac dans l interface du routeur si cela n est pas fait vous verrez la machine comme WAKED quand elle est allumée et vous ne la verrez plus du tout quand elle est éteinte (donc WOL impossible)

Alors la j'ai vraiment du mal a comprendre comment une machine enregistré peut ne pas apparaitre... logiquement si il la trouve il la met en "waked" et sinon il la met en "wake up"

je vais me replonger dans mon script alors...

Posté(e)

Alors la j'ai vraiment du mal a comprendre comment une machine enregistré peut ne pas apparaitre... logiquement si il la trouve il la met en "waked" et sinon il la met en "wake up"

je vais me replonger dans mon script alors...

je te parle de machines non ajoutées dans le script, si elles sont allumées il les voit sinon non, cela vient du fait que le WRT54GS gère lui aussi le WOL et que si tu n'autorise pas les machines, quand elles sont eteintes il les masque c est tout. Je précise que mon routeur est mon le centre de mon réseau, tout passe par lui.

Posté(e)
  • Auteur

je te parle de machines non ajoutées dans le script, si elles sont allumées il les voit sinon non, cela vient du fait que le WRT54GS gère lui aussi le WOL et que si tu n'autorise pas les machines, quand elles sont eteintes il les masque c est tout. Je précise que mon routeur est mon le centre de mon réseau, tout passe par lui.

A oui les machines non enregistrée et eteinte c'est normal que mon script ne les voit pas... il fait une recherche par IP pour connaitre les connectées et de la trouve leur MAC et les compare a la liste...

Donc forcement machine eteinte -> pas d'IP -> pas de MAC -> n'apparait pas ...

Et en activant le WOL il doit surement atribuer une IP au periphérique même eteint et donc il apparait... ca me semble devoir etre cela...

Posté(e)

A oui les machines non enregistrée et eteinte c'est normal que mon script ne les voit pas... il fait une recherche par IP pour connaitre les connectées et de la trouve leur MAC et les compare a la liste...

Donc forcement machine eteinte -> pas d'IP -> pas de MAC -> n'apparait pas ...

Et en activant le WOL il doit surement atribuer une IP au periphérique même eteint et donc il apparait... ca me semble devoir etre cela...

c est exactement ce que je voulais dire :D

Posté(e)

Bonsoir à tous.

Bon aprés avoir bien tout vérifier , j'ai toujours le même soucis.

J'ai configuré mon réseau dans le script networkmon

192.168.1.0/24

Les deux adresses MAC (mon pc et mon routeur)

et le résultat obtenu est celui-ci

monitorbl5.jpg

Pour les explications : (Les adresses MAC sont volontairement masqués)

La 1ère ligne , c'est mon PC (qui est en réalité allumé au moment où je lance l'accés à la page d'accueil du script)

La seconde ligne est le routeur qui est lui aussi allumé

la troisième ligne indique l'ip de mon routeur

la quatrième ligne correspond à l'ip de mon pc

la dernière ligne représente le Syno (egalement en UnknowHost)

Les seules choses bizzare était à l'installation de Nmap.

Un message bizarre mais je m'en rapelle plus.

Question : Comment faire pour faire marcher celà ? (Avec les infos fournis ci dessus)

Est-ce que le Nom que l'on donne doit réellement correspondre au nom de la machine ou du routeur (Hostname) ?

Peut-on désinstaller et re-installer nmap sans devoir remodifier le networkmon ?

Merci et bonne année :)

Posté(e)
  • Auteur

Bonsoir à tous.

Bon aprés avoir bien tout vérifier , j'ai toujours le même soucis.

J'ai configuré mon réseau dans le script networkmon

192.168.1.0/24

Les deux adresses MAC (mon pc et mon routeur)

et le résultat obtenu est celui-ci

monitorbl5.jpg

Pour les explications : (Les adresses MAC sont volontairement masqués)

La 1ère ligne , c'est mon PC (qui est en réalité allumé au moment où je lance l'accés à la page d'accueil du script)

La seconde ligne est le routeur qui est lui aussi allumé

la troisième ligne indique l'ip de mon routeur

la quatrième ligne correspond à l'ip de mon pc

la dernière ligne représente le Syno (egalement en UnknowHost)

Les seules choses bizzare était à l'installation de Nmap.

Un message bizarre mais je m'en rapelle plus.

Question : Comment faire pour faire marcher celà ? (Avec les infos fournis ci dessus)

Est-ce que le Nom que l'on donne doit réellement correspondre au nom de la machine ou du routeur (Hostname) ?

Peut-on désinstaller et re-installer nmap sans devoir remodifier le networkmon ?

Merci et bonne année :)

Bon alors :

1 - Le nom que l'on donne n'a pas d'importance

2 - La ligne du Syno est normale (unknown host) vu que pas enregistré... et on note qu'on a son MAC...

3 - Par contre le probleme vient du fait que l'on arrive pas à recuperer les adresse MAC des peripheriques allumés...

Donc nmap n'a pas de probleme (il ne sert qu'a recuperer les IPs) mais arp semble avoir un probleme car c'est lui qui fait la

correspondance IP vers MAC ... sauf pour le syno ou on lit dans ifconfig... et effectivement donc dans les deux cas ou arp est

utilisé on obtient pas de MAC...

Donc pour tester :

- verifier que arp fonctionne : arp 192.168.1.1 (ou arp 192.168.1.2)

resultat :

Address				  HWtype  HWaddress		   Flags Mask			Iface

my.router				ether   00:11:2F:3F:B3:D5   C					 eth0

- si ca fonctionne verifier si les script est bon

networkmon getMAC 192.168.1.1 (ou .2)

Dis moi deja ce que ca donne

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.