Controllare le porte del router via UPnP

Questo articolo è molto vecchio e potrebbe essere obsoleto

Un problema riscontrato da molte persone è il fatto che ogni router ha la propria interfaccia web diversa dalle altre e non sempre è intuitiva come dovrebbe, oppure, non ha alcune caratteristiche supportate del router accessibili all'utente, come in alcuni modem Alice. Quello che vi voglio presentare è un piccolo programma che sto sviluppando e permetterà di gestire molti aspetti del vostro router tramite UPnP, UPnP Router Control. Il protocollo UPnP (Universal Plug and Play) è quello utilizzato da svariate applicazioni che devono essere "visibili" su internet con una porta specifica, UPnP Router Control permetterà di gestire il packet forwarding dal vostro router al vostro PC per gestire molti servizi come server HTTP, FTP, SSH e qualunque altro servizio (come ad esempio eMule).

Con UPnP Router Control è possibile:

    Post image
  • Aprire qualsiasi porta sul router per far comunicare le applicazioni sul pc locale all'esterno
  • Cancellare eventuali porte rimaste aperte da altri programmi
  • Leggere i dati del router, come la marca, il modello e l'indirizzo dell'interfaccia web
  • Leggere la velocità di download e upload globale
  • Sapere l'Ip esterno e lo stato di connessione

Post image

Lo stato dello sviluppo è buono nel senso che il programma è usabile in tutte le funzioni sopracitate solo che per adesso l'ho provato personalmente solo su due router, il Netgear DGN2000 e l'U.S.Robotics USR 8054 in mio possesso, per cui ci possono essere alcuni problemi che si manifestano solo con alcuni modelli, visto che il protocollo UPnP viene implementato da ognuno un po' come gli pare. Quello che vi chiedo è di farmi da cavie :P

Post image

A parte gli scherzi, non c'è affatto nulla di cui preoccuparsi, il programma va o non va e quando vorrete disinstallarlo lo farete semplicemente tramite il gestore di pacchetti APT. Infatti ho imparato a pacchettizzare le applicazioni nello standard Debian ed usare il mio PPA su Launchpad per la distribuzione.

Post image

Installazione [Ubuntu, Debian]

Basterà aggiungere il mio repository PPA oppure scaricare direttamente il pacchetto deb per la propria architettura. Questo pacchetto lo aggiorno ogni tanto quando ci sono modifiche sostanziali e soprattutto quando penso che vada tutto bene.

Compilazione (se proprio non avete altro da fare)

Per seguirne lo sviluppo basta scaricare il rami di sviluppo presente su Launchpad usante Bazaar come sistema di controllo versione.

Questo metodo è indispensabile nel caso state usando una qualsiasi distribuzione diversa da Ubuntu (e derivate) e Debian (e derivate).

Per creare una copia del ramo di sviluppo occorre, oltre ad avere installato il pacchetto bzr, eseguire questo comando:

bzr branch lp:upnp-router-control

Vi ritroverete tutti i sorgenti nella cartella upnp-router-control appena creata. Per compilare usate waf o gli autotools (sono presenti entrambi), se non sapete manco cosa sono mi chiedo perché volete per forza compilare quando tengo i pacchetti abbastanza aggiornati! In ogni caso usando waf i comandi sono questi:

./waf configure --prefix=/usr && ./waf build && sudo ./waf install


Per aggiornare invece basterà eseguire questo comando dall'interno della cartella creata dal successivo comando:

bzr pull lp:upnp-router-control


Aiutami!

Per aiutarmi avrei bisogno che voi provaste il mio programma sui vostri pc segnalando il modello del vostro router ed in caso di errori o informazioni incomplete avviare UPnP Router Control da terminale con l'opzione di debug in modo da visualizzare parecchie informazioni utili.

upnp-router-control --debug

Per segnalarmi un bug sarebbe opportuno segnalare il bug qui (in inglese). Se invece volete proporre una caratteristica questo è il posto giusto.

Fatemi sapere cosa ne pensate!

Articoli correlati

Abbonati al feed RSS. Se non sai cos'è guarda qui.

Abbonati alla newsletter per ricevere via email ogni nuovo articolo pubblicato. L'indirizzo verrà gestito da FeedBurner.

Dai il tuo parere, commenta questo articolo!
commenti su Controllare le porte del router via UPnP
  1. Lazza scrive —

    Se riesci a risolvermi il problema del mio Netgear con Upnp buggato ti faccio un monumento. :D

  2. paolettopn scrive —

    Ciao,
    io ti aiuterei volentieri ma devi dirmi se l’applicativo gira sulla mia Ubuntu 8.04 LTS.
    Ho visto dai tuoi repository che esiste il pacchetto solo per Jaunty; gira anche sulla Hardy?

    Dammi una voce e poi iniziamo la collaborazione.

  3. Lazza scrive —

    @ Paolettopn, penso che funzioni solo su Jaunty. Ah, mi sono accorto che non ero un tuo lettore, ho rimediato all’errore iscrivendomi al tuo feed. :P

  4. paolettopn scrive —

    Che peccato, avrei desiderato molto provare questa applicazione.

    Grazie per l’iscrizione al feed. ;)

  5. Reloweb scrive —

    Ciao!
    Ho provato il tuo software, carino solo che a me non funziona.
    Questo è il debug del programma: http://paste.ubuntu.com/253173/
    La marca del mio router è Sitecom WL-154

  6. DnaX scrive —

    @Lazza: Sarà difficile perché il problema riscontrato nel tuo router e troppo di basso livello, bisognerebbe modificare la libreria gupnp. Sorry... :(

    @Paolettopn: Basta controllare le dipendenze, serve avere le librerie GTK alla versione 2.16. Purtroppo se non sbaglio Hardy ha ancora le 2.14. Semmai risolvo il problema eliminando le caratteristiche aggiuntive della 2.16 (i pallini blu per le info).

    @Reloweb: Ho controllato il log e purtroppo non mi è molto di aiuto, a quanto pare però dovrebbe leggere i nome del router, l'indirizzo dell'interfaccia web e le velocità istantanee di download e upload, confermi?

    Forse devo incrementare il livello di debug cercando di fare un po' di introspezione delle azioni, proprietà ed eventi disponibili nel router!

  7. Reloweb scrive —

    Si mi da tutte le info che hai elencato, non da l’indirizzo IP, lo stato WAN, nome del router sbagliato e le porte non vengono elencate.

  8. DnaX scrive —

    Come nome del router dovrebbe dare esattamente questo: "ADSL Modem IGD". Il problema è che la proprietà friendly_name che viene letta non è sempre il nome del router ma potrebbe essere un nome generico come questo.

    Se passi sopra col mouse sul nome del router per mostrare il popup cosa leggi?

  9. Reloweb scrive —

    Marca: Tred Chip Technologies Corp.
    Sito Web della marca: 192.168.0.1
    Modello: ADSL Modem IGD
    Numero modello: ADSL modem

  10. guiodic scrive —

    A me crasha immediatamente... :(

    upnp-router-control --debug
    * Initializing GUI...
    * Showing GUI...
    * Starting UPnP Resource discovery... done
    ==> Device Available: WANConnectionDevice
    Enum services...
    Service: urn:upnp-org:serviceId:WANIPConn1
    ** Subscribed to WANIPConn events
    Request for external IP address... Segmentation fault

  11. DnaX scrive —

    Notifico che ho apportato molti miglioramenti al programma. Se avete voglia di provarlo prima del rilascio della prima versione ve ne sarei enormemente grato.

  12. Lillo scrive —

    Ho un nuovo computer con processore intel I7 920 e scheda madre Asus P6T SE su cui ho installato kubuntu 9.10.
    Il programma upnp-router-control scaricato ieri sotto forma di pacchetto deb anche a me da l’errore seguente:
    Request for external IP address... Segmentation fault
    Grazie comunque del’impegno e dell’attenzione

    Buone feste

  13. Lillo scrive —

    Scusa dimenticavo il router è un d-ling dsl-g624t e la rete domestica è wireless, inoltre il programma ha funzionato due o tre volte e si è bloccato dopo il primo tentativo di aprire una porta restituendo il messaggio di cui sopra

  14. Antonio Ceccatelli scrive —

    Gran bel programma. Complimenti.
    Lo (0.2) uso correntemente sulla mia 10.10 Maverick ed il mio router Linksys WAG54GP2 ora non ha più segreti.
    Ciao
    Antonio

  15. UPnP Router Control 0.2 scrive —

    […] Dopo un po' di testing e bug risolti ho rilasciato, ormai da ottobre, la versione 0.2 del mio programma per gestire il router via UPnP, UPnP Router Control. Come previsto è possibile gestire il port forward tramite una semplice interfaccia che focalizza l'attenzione solo sui parametri strettamente necessari. […]

Lascia un commento

CC BY-NC-SA 3.0 2004-2020 Daniele Napolitano — Per informazioni sulla licenza leggere le Note legali