Samba Pour Xbmc


nioc bertheloneum
 Share

Messages recommandés

Salut à tous,

Je suis actuellement sur deux gros projets en parallèle plus le boulot, la vie perso, etc.. mais là je m'égare.

Comme certains le savent déjà, je suis entrain de reprendre à zéro le projet d'Alex F2XTV afin de le rendre multi-plateforme et surtout adaptable à plusieurs sources de stream. Il y a peu Alex m'a soumis l'idée que l'enregistrement d'une chaîne au lieu d'être local pourrait se faire sur un espace du réseau accessible via le partage réseau. Bien sûr, pour le cas d'un ordi, il suffirait de lancer le serveur dessus et d'enregistrer en local, mais comment faire pour les utilisateurs de disques durs en réseau? La solution d'enregistrer en local puis de transférer est envisageable mais il faut supposer que la personne ait un disque dur suffisamment grand pour accueillir l'enregistrement local, ce qui n'ait pas le cas pour les utilisateurs n'ayant pas changé le disque dur d'origine de leur xbox!! Ce qui m'amène à mon deuxième projet.

Mon deuxième projet porte sur le port de samba sur xbmc en python, pas seulement la partie client mais aussi la partie serveur, ce qui permettrait d'avoir un partage réseau samba sur xbmc. J'avoue que je ne sais pas encore si c'est vraiment faisable, mais je tente! Et c'est pour ce deuxième projet que j'ai besoin d'aide.

Donc, j'aurais besoin de personnes ayant un minimum de connexion en informatique et en partage réseau (quelque soit la plateforme, euh samba sur mac, ça existe?). Aucune connaissance en python n'est nécessaire!!!

Les connaissances à avoir sont :

  • Installer / Désinstaller un software (Ethereal)
  • Savoir lancer la ligne de commande DOS
  • Savoir gérer les partages réseaux
  • Savoir ce qu'est une adresse IP
  • Si vous savez la base pour ajouter supprimer un utilisateur et les droits associés, c'est un plus!

Pour le matériel à avoir, il faut que la personne intéressé ait au moins deux matériels en partage sur le réseau (la xbox ne comptant pas) donc deux ordis, un ordi plus disques durs en réseau, ...

Le travail à faire:

  • A l'aide du logiciel ethereal, faire des acquisitions permettant de voir les enregistrements des ordinateurs sur le réseau, les mécanismes d'échanges d'informations permettant un partage réseau de s'effectuer
  • Faire des recherches sur internet pour avoir des exemples de fonctionnement d'échanges réseau, ou toutes autres informations pouvant m'aider au développement

Si vous avez des questions, n'hésitez pas!

++

Lien vers le commentaire
Partager sur d'autres sites

Bonjour,

Il y a un peu de travail avant de pouvoir émuler le protocole SMB directement en python...

Le wiki anglais offre plus d'informations sur le protocole SMB que le wiki français :

Server_Message_Block

Ci-joint quelques liens techniques décrivant (plus en détail) le protocole SMB/CIFS :

SMB Protocol

http://ubiqx.org/cifs/SMB.html

Pour les tests et pour pouvoir simuler le protocole SMB (contrôler/comparer les informations envoyées sur la socket), c'est vrai que wireshark (ex ethereal) est bien utile avec sa fonction d'enregistrement des trames.

Concernant Ethereal et SMB :

Generating SMB Service Response Time Statistics using Ethereal

Mais une solution de debug de l'autre côté du protocole SMB (log du serveur samba sous linux par exemple) peut être aussi intéressante. (pour voir si les commandes envoyées passent bien)

Lien vers le commentaire
Partager sur d'autres sites

Hey ! Salut Dekani !

Comment vas ?

Bon les trames ethereal c'est ce que j'ai donné à Nioc. Si d'autres peuvent lui en capturer ca l'aidera certainement. Sinon vous pouvez toujours vous mettre à disposition pour effectuer les tests dont il pourrait avoir besoin.

A+

Lien vers le commentaire
Partager sur d'autres sites

Salut à tous les deux,

En effet, je me doute bien que ce n'est pas facile surtout que ce n'est pas simplement le protocole CIFS/SMB à intégrer mais aussi la couche inférieur : NetBIOS.

Pour mes sources, je me base justement des infos du site ubiqx mais aussi et surtout des RFC (1001 et 1002 en ce qui concerne NetBIOS).

Pour l'instant, je construis toute la base NetBIOS (en fait NBT: NetBIOS over TCP/IP) avant de me lancer dans le SMB proprement dit.

Je viens de terminer la partie création / extraction des paquets NBT (name service, datagram service et session service). Je suis sur la mise en place du serveur NBT qui gérera les messages sur les ports 137,138 et 139 ce qui permettra d'enregistrer la console sur le réseau et donc de créer un interlocuteur pour les sessions SMB. Il me reste donc une grosse partie à faire!!!

Ce que je cherche actuellement comme aide, c'est non seulement des exemples 'pertinents' d'échanges réseaux au niveau netbios et smb, tel que l'enregistrement des ordis sur le réseau ainsi que leur départ, la récupération de la liste des ordis présents sur le réseau (d'où la demande d'avoir au moins deux ordis), et toutes les informations pertinentes que l'on pourrait trouver. A partir de là, il faudra extraire les scénarios pour chaque grande phase du partage réseau. Par exemple, comment se fait l'arrivée d'un ordi sur le réseau? Comment est-ce qu'est créée la liste des ordis? ...

D'après les exemples que j'ai, je peux voir comment un ordi s'enregistre sur le réseau. je sais aussi qu'il y a un ordi maître du réseau, qu'il est élu et que c'est lui qui fournira la liste des ordis présents. Mais comment est-il élu? La liste est-elle fourni par smb ou aussi par netbios. Pour combien de temps est-il élu? Quand il perd sa place, fournit-il la liste des ordis présents à un autre membre? ....etc ... etc...

Voilà, pourquoi j'ai besoin d'aide. Ce n'est pas de la programmation, mais plus du déchiffrement de scénarios!!

++

Lien vers le commentaire
Partager sur d'autres sites

En fait si je ne parlais de Netbios, c'est qu'on peut utiliser SMB avec ou sans utilisation de Netbios.

http://support.microsoft.com/kb/204279

http://ourworld.compuserve.com/homepages/t...ydevans/smb.htm

Mais c'est vrai que passer par Netbios pourra sûrement permettre de mieux valider chacune des étapes.

Je peux vous envoyer les trames d'acquittement Netbios d'ici quelques jours (avec utilisation des domaines NT)

Le mode de résolution des noms doit être différent de celui utilisé pour les Workgroups ?

Actuellement, les traces que vous avez utilisent les workgroups ou les domaines NT ?

Modifié par dekani
Lien vers le commentaire
Partager sur d'autres sites

Salu, en effet, NetBIOS n'est pas toujours obligatoire pour SMB, mais ce n'est pas général!!! En fait, je dirais plus qu'en général ça ne fonctionne pas, si on ne l'autorise pas (C'est pour simplifier bien entendu). Donc, je pense que la couche NetBIOS est obligatoire et de toute façon est préférable! Moi, je vais l'intégrer, ça permettra d'avoir quelque chose de plus propre.

En ce qui concerne des tests, on a pour l'instant les tests les plus simples avec un workgroup et des noeuds de types B. Maintenant, si tu as autre chose sous la main, je suis preneur, ça permettra d'avoir quelque chose de plus général, mais sachant que c'est pour XBMC, je ne pense pas qu'on trouvera d'autres situations. Je précise XBMC car pour le reste, des implantations de Samba existe déjà.

++

Lien vers le commentaire
Partager sur d'autres sites

En ce qui concerne des tests, on a pour l'instant les tests les plus simples avec un workgroup et des noeuds de types B. Maintenant, si tu as autre chose sous la main, je suis preneur, ça permettra d'avoir quelque chose de plus général, mais sachant que c'est pour XBMC, je ne pense pas qu'on trouvera d'autres situations. Je précise XBMC car pour le reste, des implantations de Samba existe déjà.

++

Ce n'était qu'une proposition, ça ne fait rien...

Pour les tests plus poussés (et pour simuler un réseau de quelques machines), tu peux aussi utiliser un outil de virtualisation si ta configuration le permet. (ça prend beaucoup de ressources certes, mais tous les cas peuvent être envisagés - différentes adresses ip, différents workgroups, etc...)

Lien vers le commentaire
Partager sur d'autres sites

Non, non, en aucun cas je ne voulais te freiner, tous les tests que tu pourrais me seront sûrement utiles! Donc avec nom de domaine/nom de workgroup différents/identiques, ... Je prends tout, si tu peux faire les tests aussi sans NetBIOS, je prends aussi, car si je me rappelle bien, c'est simplement un test à l'ouverture du socket, l'un c'est juste le port tcp 445 l'autre, on passe par NetBIOS sur le port 139 (netbios session). Ensuite, je ne sais pas trop, donc si tu peux faire des captures, je prends.

Pour le test avec l'installation de système virtuel, c'est intéressant, mais il faut (comme tu l'as précisé) une machine puissante (bon, la mienne est déjà un peu limite), de l'espace disque, et beaucoup de temps ce que je n'ai pas. Donc, de mon côté, je vais développer en suivant un max les directives des rfc et des deux trois sites proposant des exemples d'implémentation, mais je ne pourrais pas m'attarder sur les tests. C'est pour cela que j'ai besoin de mains d'oeuvre et beta testeurs.

Enfin, merci de ton aide,

++

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share