« Whatever apero 23-03-2012 - compte rendu » : différence entre les versions

De Breizh-Entropy
Aller à la navigation Aller à la recherche
Ligne 63 : Ligne 63 :
ça fonctionne !! on tweet l'accès à l'imprimante et.. voici le résultat :
ça fonctionne !! on tweet l'accès à l'imprimante et.. voici le résultat :


[[http://pix.toile-libre.org/upload/original/1332686082.jpg]]
[http://pix.toile-libre.org/upload/original/1332686082.jpg]
[[http://pix.toile-libre.org/upload/original/1332686105.jpg]]
[http://pix.toile-libre.org/upload/original/1332686105.jpg]
[[http://pix.toile-libre.org/upload/original/1332686110.jpg]]
[http://pix.toile-libre.org/upload/original/1332686110.jpg]





Version du 25 mars 2012 à 14:36

Compte rendu du Whatever_apero_23/24_mars_2012


Atelier Quadropter

Atelier Réparation MacBook

Atelier ChaosPrinter

état des lieux

Une imprimante (P) est connecté à une machine A (ip : 192.168.0.23) en USB. un serveur CUPS est installé sur cette machine et possède une configuration pour l'imprimante P. Via l'interface web d'administration, nous avons partagé l'imprimante afin que n'importe qu'elle machine du réseau local puisse imprimer une page avec la commande suivante :

 lp -h 192.168.0.23 -d elabo file.pdf
  • Objectif : Mettre l'imprimante à disposition des nazis de l'Internet :)
  • Problème : l'imprimante est connecté à un ordinateur Naté derrière une freebox
  • Problème 2 : nous n'avons pas la main sur le routeur freebox

First Try (spoiler : fail)

Lorsqu'on effectue une impression avec la commande lp, une connexion est d'abord faite en TCP et les données sont ensuite envoyées en UDP. Pour rendre disponible l'imprimante sur internet sans modifier la freebox, on va monter un tunnel OpenVPN entre la machine connecté à l'imprimante (A) et la machine tierce sur l'internet (B) puis forwarder les ports 631 (TCP & UDP) de B -> A. On va utiliser SSH pour le port forwarding TCP et socat pour le port fowarding UDP. On pourrait également utiliser socat pour le TCP mais bon on fait du quick'n dirty :

sur la machine tierce B :

 root@B# /sbin/iptables -A INPUT -i eth0 --dport 631 -p tcp -j ACCEPT
 root@B# ssh -L 631:localhost:631 user@A

puis pour l'UDP toujours sur B :

 root@B# /sbin/iptables -A INPUT -i eth0 --dport 631 -p udp -j ACCEPT
 root@B# socat UDP4-LISTEN:631,reuseaddr,fork UDP4-SENDTO:10.0.0.2:631

on essaye d'imprimer quelque chose depuis une machine random R sur l'internet :

 R$ lp -h B -d elabo file.pdf
 lp: bad request

hmmm, on regarde ce qui se passe dans le errorlog de notre serveur cups sur A :

 root@A$ tail -f /var/log/cups/error_log
 E [24/Mar/2012:13:27:04 +0100] Request from "localhost" using invalid Host: field "B"

Apparemment une requête d'impression contient le nom de l'hote auquel on effectue cette requête. On ne fait que relayer la requête sans modifier les données, du coup A reçoit une requête d'impression qui était destiné à B. hmm échec on va essayer autre chose

Second Try Success

On arrête le quick'n dirty, manifestement ça ne fonctionne pas :) on laisse le VPN entre A et B mais on va installer un serveur cups sur B qui fera proxy. En principe on va configurer une nouvelle imprimante sur B qui sera une imprimante ipp, dans l'interface web d'administration on ajoute une imprimante à l'adresse suivante :

 ipp://10.0.0.2/printers/elabo

on spécifie le modèle (ici une Epson Stylux DX5050 mais il faut utiliser les drivers de Epson Stylus DX4850), le serveur cups se relance automatiquement et...

 R$ lp -h B -d elabo file.pdf
 l’identifiant de la requête est elabo-31 (1 fichier(s))

on limite un peu les quotas d'impression à 3 pages par requête et un maximum de 4096ko de fichiers à imprimer :

 root@B$ lpadmin -p elabo -o job-k-limit=4096
 root@B$ lpadmin -p elabo -o job-page-limit=3

ça fonctionne !! on tweet l'accès à l'imprimante et.. voici le résultat :

[1] [2] [3]


merci à tous :)

Atelier Streaming Vidéo

Contexte et objectif

  • Objectif : streamer vers l'Internet un flux vidéo depuis le réseau local ;
  • Contexte : un flux vidéo reçu depuis un Quadcopter par une machine connectée à Internet, en Syrie, doit être émis vers Internet pour être ensuite vu partout dans le monde ;
  • Hypothèses
    • débit montant fortement limité (simulation d'un réseau de mauvaise qualité, comme ce qu'on peut trouver en Syrie), à 300kbits/s ;
    • flux vidéo lisible par pilote Video 4 Linux 2 sur la machine connectée à Internet ;
    • flux réseaux espionnés par le gouvernement impliquant qu'un flux vidéo passant en clair vers l'extérieur met en danger la personne émetrice.

Logiciels utilisés

VLC

VLC est un lecteur multimédia libre et gratuit qui permet la lecture de fichiers vidéos, DVD, de flux réseaux ainsi que des flux d'un périphérique d'acquisition comme une webcam. Outre l'affichage des fichiers lus, VLC offre la possibilité de convertir les flux dans d'autres formats et, une fois convertis, de les écrire soit dans des fichiers, soit de les mettre à disposition par accès réseau (il existe plusieurs techniques).

Soudure TV B-Gone

Atelier Préparation de Switch

Atelier Bidouille Fonera