Vediamo di conoscere il funzionamento dei videotelefoni fissi che permettono le videochiamate. In particolare studieremo l’aggiornamento del software. Questa procedura funziona per la maggior parte dei telefoni, probabilmente tutti quelli prodotti dalla Urmet TLC. Se qualcuno di voi effettua delle prove con altri apparecchi può comunicarmelo così da aggiornare la lista.
I telefoni su cui ho effettuato i test sono l'MP315 e il V300, il suo aggiornamento è basato sullo standard TR069, usato anche da altri dispositivi come centraline dei treni, contatori llettrici, router e che quindi può essere estesa su un numero cosiderevole di device.
Il telefono all’accenzione interroga un server dhcpd. Oltre al suo indirizzo IP il telefono ottiene anche l’indirizzo del server DNS. Questi parametri si possono leggere anche tra le impostazioni del telefono, molto utile per fare dei test. Ora il telefono interroga il server DNS per ottenere la risoluzione di un indirizzo. Ottenuta la risposta dal DNS comunica con quell’indirizzo per l’aggiornamento del software.
Sicuramente un computer, un server dhcp, un server DNS, un videotelefono per fare test, una versione software da caricare sul dispositivo, un programma che comunica con il dispositivo e un server web.
Potremmo tirar su una rete con più computer, uno per ogni servizio e con un’architettura più complessa, con router che nattano l’IP del telefono, ognuno è in grado di sbizzarrirsi come vuole ma per ora cercherò di semplificare le cose il più possibile. Per questo utilizzeremo un solo computer su cui faremo girare Linux e tutti i servizi di cui abbiamo bisogno.
Cerchiamo di capire come è fatto il telefono, colleghiamolo con un cavo di rete ad una scheda ethernet del nostro computer. Diamo un indirizzo alla nostra scheda che supponiamo sia eth1
ifup eth0 192.168.1.1
ora abbiamo bisogno di un server dhcp. Questa configurazione può andar bene:
ddns-update-style none; ignore client-updates; authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.1; # me default-lease-time 21600; max-lease-time 43200; host dhcp101 { hardware ethernet 00:D0:1A:A0:0C:43; fixed-address 192.168.1.2; } }
Come potete osservare ho già settato l’indirizzo ethernet del telefono, sta scritto in una pecetta sotto il telefono e anche nel menu’ configurazione del telefono stesso. Facciamo partire il server
service dhcpd start
e accendiamo il telefono. Vediamo che tutto funziona come vorremmo, il telefono ha l’indirizzo IP 192.168.1.2 .
Cerchiamo di capire cosa abbiamo davanti con un nmap
nmap -A -T4 192.168.1.2
Starting Nmap 4.52 ( http://insecure.org ) at 2008-11-19 15:55 CET Interesting ports on 192.168.1.2: Not shown: 1713 closed ports PORT STATE SERVICE VERSION 8080/tcp open http Boa HTTPd 0.94.8.3 |_ HTML title: MediaPhone Web Server MAC Address: 00:D0:1A:A0:0C:43 (Urmet TLC S.p.a.) Device type: general purpose Running: Linux 2.4.X OS details: Linux 2.4.18 - 2.4.32 (likely embedded) Uptime: 0.005 days (since Wed Nov 19 15:48:27 2008) Network Distance: 1 hop
OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ . Nmap done: 1 IP address (1 host up) scanned in 21.051 seconds
Perfetto, c’è il nostro amato Pinguino :) e un server Web sulla porta 8080, non è molto ma sempre meglio di niente.