#1 Le 26/11/2012, à 15:22
- Brynjolf
[Résolu]Detection du mode veille décodeur tv
Chers Linuxiens, bonjour,
Mon réseaux :
Téléphone Ana.
/
/
___________BBOX________Ubuntu-serveur_______Switch_____Clients/Serveur
| \ Gbyte
| \
Décodeur TV \ point d'accès wifi______Clients
Intro:
J'ai installé récemment une politique QOS avec HTB en parallèle avec iptables, sur Ubuntu serveur.
Tout fonctionne de façon sécurisée et a merveille ...
Probème:
Dans le script QOS, le débit du décodeur TV (~ 4Mbit) a été soustrait du totale de la valeur download.
Je cherche une solution qui me permettrais de détecter le mode veille du décodeur,
de façon a augmenter la valeur download de mon script de 4Mbit automatiquement et vice versa.
(J'ai, bien sur tenté avec les réponces ping, le décodeur étant en veille il répond tout de même [ la solution de le débranché électriquement n'étant pas envisageable ])
Enfin:
Quelqu'un ayant déjà été confronté au même problème, aurais t-il trouver une solution efficace ?
Merci de m'avoir lu, je reste disponible pour plus de détailles.
Dernière modification par Brynjolf (Le 01/12/2012, à 18:20)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#2 Le 27/11/2012, à 17:16
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Provisoirement, j'ai scripter une commande ping toutes des minutes qui change mes valeurs download dans un fichier .conf en fonction du résultat, et associer le .conf dans le script HTB qui ce redémarre toutes les minute après le script ping.
C'est pas très propre et il faut débrancher le décodeur pour qu'un changement soit effectif.
Bref cela ne me plait pas.
Je vais m'implanter sur le réseaux bbox et essayer de trouver un quelconque signal au moments de la veille avec wireshark.
Je aussi trouver de la doc sur les script "broadcast receving" et en faire un jolie qui détecte la mise en veille et aussi la sortie de veille dudit décodeur tv.
Dernière modification par Brynjolf (Le 27/11/2012, à 17:17)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#3 Le 27/11/2012, à 18:24
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Le décodeur tv communique avec le protocol igmpV2,
avec les infos "join" et "leave" groupe de l'adresse x.x.x.x en IPV4 multicast, pas d'information sur le port.
Join Group = Sortie de veille (Type 0x16)
Leave Group = Mise en veille (Type 0x17)
J'ai besoin d'un coup de pouce pour détecter ces trames dans un script en fonction de "join group" et "leave group".
Quelle binaire est capable de m'aider dans la détéction ?
Dernière modification par Brynjolf (Le 27/11/2012, à 18:37)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#4 Le 28/11/2012, à 09:20
- FrancisFDZ
Re : [Résolu]Detection du mode veille décodeur tv
Bonjour,
D'après les info fournies par le menu du décodeur TV Bbox, son adresse IP est 192.168.1.248 (à vérifier, c'est ça chez moi, mais des adresses peuvent changer, par exemple l'adresse de la box elle même n'est pas la même en France et en Belgique, voir là ?!). Cherches les info système dans le menu du décodeur.
Dernière modification par FrancisFDZ (Le 28/11/2012, à 09:24)
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#5 Le 28/11/2012, à 10:06
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
L'adresse est bien 192.168.1.248.
De par cette adresse imposé, je ne peut pas mettre le décodeurTV derrière mon switch, ce qui m'aurais évité pas mal de soucis.
Je cherche maintenant un binaire capable de loger uniquement les trames igmp de façon affichable, pour les analyser dans un script qui détecteras le dernier états connu du décodeurTV.
Soit "join group" ou "leave group" et adapteras ma gestion de bande passante en conséquence.
(Ce que fait ping pour le moments, mais obligé de débrancher le décodeur)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#6 Le 28/11/2012, à 10:11
- FrancisFDZ
Re : [Résolu]Detection du mode veille décodeur tv
N'y aurait-il pas une solution (ou simplement amorce de solution) avec netstat ? Personnellement, je ne connais pas trop cette commande, mais le man semble prometteur.
[Edit] J'ai fait un essai, à toi de voir si ça peut servir :
francis@Ubuntu:~$ netstat --ip 192.168.1.248
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat
tcp 1 0 Ubuntu.lan:56458 mistletoe.canonica:http CLOSE_WAIT
tcp 0 0 Ubuntu.lan:47671 alkes.canonical.co:http TIME_WAIT
tcp 0 0 Ubuntu.lan:34121 db3msgr6011501.ga:https ESTABLISHED
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:61688 TIME_WAIT
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:61178 TIME_WAIT
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:63954 TIME_WAIT
tcp 0 0 Ubuntu.lan:51845 157.55.130.143:40003 ESTABLISHED
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:56903 TIME_WAIT
tcp 0 0 Ubuntu.lan:57688 91.190.218.52:12350 ESTABLISHED
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:57980 TIME_WAIT
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:61468 TIME_WAIT
tcp 0 0 Ubuntu.lan:49200 192.168.1.248:61468 TIME_WAIT
Il y a plein d'autres options !
Dernière modification par FrancisFDZ (Le 28/11/2012, à 10:19)
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#7 Le 28/11/2012, à 11:49
- FrancisFDZ
Re : [Résolu]Detection du mode veille décodeur tv
Je viens de découvrir là lsof . Est-ce que ça pourrait convenir ?
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#8 Le 28/11/2012, à 12:37
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Enfaite j'utilise déjà "iftop" pour contrôler l'activité des connections et afficher en quelle quantité.
Ce qu'il faut comprendre, c'est que le décodeurTV ne traverse pas mon serveur ubuntu.
Donc aucune utilité de flairer les connexion, puisqu'il n'y auras pas de connexion établie avec mon local ethernet et wifi.
Par contre l'interface directement connecter a la bbox de mon serveur reçois les trames igmpv2 multicast, puisque multicast puis drop. (Ces trames contiennes les infos de l'état du décodeur avec sont groupe dissimuler derrière le wan)
Merci de m'aider, j'ai essayer tcpdump -> problème, il enregistre bien les trame, mais de façon non lisible et en plus, on doit terminer son process pour espérer lire son contenu de façon claire avec une autre commande.
Je n'ose imaginer le script pour orchestrer tout le fonctionnement dont j'ai besoin.
D’où ma question y a t'il d'autre binaires de capture de trame qui enregistre directement de façon claire dans un fichier log.
Dernière modification par Brynjolf (Le 28/11/2012, à 12:38)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#9 Le 28/11/2012, à 15:03
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Avec iptables
iptables -A INPUT -i eth1 -p igmp -j LOG --log-level alert (eth1 <-> BBOX)
Ajouter a ''/etc/rsyslog.d/50-default.conf" :
kern.=alert -/var/log/igmp.log
modifier:
kern.* -/var/log/kern.log
kern.*;kern.!=alert -/var/log/kern.log
Sa fonctionne, mais je n'obtiens que les trames igmp de 192.168.1.254 (passerelle-routeur).
Retour a zero.
Dernière modification par Brynjolf (Le 29/11/2012, à 01:31)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#10 Le 29/11/2012, à 14:55
- FrancisFDZ
Re : [Résolu]Detection du mode veille décodeur tv
Bon, je reconnais que ça dépasse un peu mes compétences, mais as-tu été voir là ? Il y a peut-êtred de quoi faire !
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#11 Le 29/11/2012, à 16:59
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Je vais tout de même apporter quelques informations complémentaires sur mon script HTB;
Il répartie la bande passante générale en fonction de la nature des connexions (QOS);
Mais dans mon script la détection de la nature des connections a été simplifier,
Le faible nombres d'adresses IPs sur "eth0/29" et "wlan0/29" (LANs) je restreint par ip (serveurs, plages IP utilisateurs avec exceptions d'utilisateurs ) ce qui est beaucoup plus simple car ont devinne facilement qui a besoin de quoi (mais surtout limiter les piques générer par les demandes/réceptions de page web).
L'unique but est de conserver un temps de latence raisonnable (jeux videos / services internet),
enfin, le script détecte aussi les services locaux et les limites donc a la vitesse maxi des interfaces LANs.
Pour garantir un temps de latence convenable, ce serais beaucoup mieux de prendre en compte ce que consomme le décodeur, non ?
Toutes les règles HTB ce vois gérer par mes valeurs totale de bandes passantes (concernant internet), cependant je ne peut pas inclure le décodeur dans ces règles puisque ses connections ne sont pas permanentes, je ne peut au mieux que détecter s'il est veille ou pas puis adapter en fonction.
Je reste ouvert a d'autres suggestions, Plus on est de fous, plus on rit.
Dernière modification par Brynjolf (Le 29/11/2012, à 17:16)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#12 Le 30/11/2012, à 16:39
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Quelque chose ne va pas:
Voila ce que j'obtiens avec "sudo tcpdump -vv -i eth1 igmp" lorsque j’étein/allume de décodeur:
[ new-host.home = 192.168.1.248 = décodeur tv ]
15:26:56.414421 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
new-host.home > all-routers.mcast.net: igmp leave 233.136.0.146
15:27:28.678513 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
new-host.home > 233.136.0.146: igmp v2 report 233.136.0.146
15:27:42.138644 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
FAST3504.home > all-systems.mcast.net: igmp query v2
Alors, pourquoi iptables ne log que les IGMP de FAST3504.home (= 192.168.1.254 = passerelle box) ?
[Edit:
J'ai bien été voire l' IGMP Snooping, comme tu me l'a conseillé;
Cette technique est utile seulement pour gérer les demandes groupes IGMP entres plusieurs interfaces.
Elle permettrais, d'installer le décodeurTV derrière mon serveur et d'en gérer les connexion.
Ce qui ensuite, me permettrais de détecter les connexion actives concernant le décodeur.
C'est une solution qui conviendrais]
Dernière modification par Brynjolf (Le 30/11/2012, à 17:20)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#13 Le 01/12/2012, à 09:40
- FrancisFDZ
Re : [Résolu]Detection du mode veille décodeur tv
IGMP : je suis content d'avoir trouvé quelque chose qui pourrait te servir (c'est le but du forum, non ? )
Si tu as quelques infos sur l'utilisation des adresses IP par la Bbox, ça m"intéresse.
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#14 Le 01/12/2012, à 15:04
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Bonjour,
Je ne sais si le décodeur TV accepterais l'adressage dhcp du lan derrière ubuntu serveur.
Je n'y crois pas trop, mais théoriquement cela devrais fonctionner.
C'est vraiment bizarre l'histoire d'iptables, j'ai essayer par plusieurs critères de sélection pour les log mais il ne veux rien savoir a propos du décodeur.
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#15 Le 01/12/2012, à 15:11
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
L'igmp snooping ne correspond finalement pas a ce que je cherche, le décodeur doit rester branché a la box.
J'ai trouver de la doc sur les sniffers;
Sniffers Linux:
http://www.citic74.fr/docs/sniffer_linu … iffer.html
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#16 Le 01/12/2012, à 17:07
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
Avec ettercap, ont peut créer un filtre:
if (ip.src == '192.168.1.248' && ip.proto == TCP && search(DATA.data, "join") ) {
exec (echo -n > /etc/bboxtv.conf;
echo "REALDOWN=10000kbit \n" >> /etc/bboxtv.conf;
echo "USERDOWN=5000kbit" >> /etc/bboxtv.conf;)
} else {
if ( search(DATA.data, "leave") ) {
exec (echo -n > /etc/bboxtv.conf;
echo "REALDOWN=14000kbit \n" >> /etc/bboxtv.conf;
echo "USERDOWN=7000kbit" >> /etc/bboxtv.conf;)
}
}
"ettercapfilter" semble parfaitement adapté a ce que je cherche, cependant je le découvre tout juste;
La syntaxe est-elle bonne ?
Dernière modification par Brynjolf (Le 01/12/2012, à 17:08)
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne
#17 Le 01/12/2012, à 18:19
- Brynjolf
Re : [Résolu]Detection du mode veille décodeur tv
La grande question étant de trouver le binaire, capable de détecter des trames et exécuter des commandes en fonction, j'ai trouver une solution avec ettercap filter.
Reste a me documenter et le faire fonctionner.
En attendant des explications de votre part sur le script et me documenter dessus, je met le poste en Résolu.
«Les ordinateurs sont comme les Dieux de l’Ancien testament : beaucoup de règles et aucune pitié.» Joseph Campbell
Hors ligne