|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2012
Messaggi: 6
|
[C++]Aprire una porta del proprio router
ciao a tutti,
vorrei sapere come posso fare per aprire una porta del mio router da programma. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Non credo potresti farlo, o almeno sarà qualcosa di complicato perchè dovrai conoscere bene il tuo router.
Digita sulla barra degli indirizzi 192.168.1.1 , così entri nel router e da li fai tutto. Almeno posta il modello del router così possiamo darti una mano. Se ti chiede nome utente e password, di default sono rispettivamente admin e admin. Se poi non va, resetta il router e le impostazioni dovrebbero tornare a default. |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jun 2012
Messaggi: 6
|
dall' interfaccia ci sono riuscito, ma io volevo far aprire la porta da programma perchè ho fatto un gioco online tra server e client e il server per fare in modo che il client si connetta deve avere una specifica porta aperta.
come posso fare? |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jul 2009
Messaggi: 268
|
Di solito i giochi online lavorano sulla porta 80.
Comunque non ho mai visto un gioco che ti richiede il nome utente e la password del router per accedere ai servizi Internet, quindi credo che questa non sia la strada corretta. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
E' un argomento che non ho mai trattato nella programmazione c++ (ma nemmeno in altre situazioni) quindi quelle che seguono sono più che altro riflessioni che magari possono essere errate.
Io sinceramente non ho mai visto programmi che aprano una porta del firewall, tutt'al più eseguono un check e verificano se tale porta è o meno aperta. Un meccanismo che forse potrebbe funzionare è utilizzare qualche script che vada proprio a simulare un utente fisico che si apre la pagina di configurazione del router, inserisce le credenziali ed esegue i vari settaggi. Ma quello degli script è un mondo che mai ho investigato e pertanto questa opzione potrebbe essere fattibile come no. Un meccanismo però esiste per consentire ad un programma della rete interna di aprirsi a piacimento porte del firewall del router, ed è quello utilizzato da moltissimi programmi (credo tutti) di p2p: l'UPNP. A quel punto avresti delle api ben precise e quindi un sistema standardizzato per interfacciarti al router di turno. Qui un po' di documentazione al riguardo, ma internet ne troverai a bizzeffe. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Non esistono programmi che ti chiedono di aprire porte perché dovrebbero conoscere *tutti* i modelli e le marche di router per poter effettuare le operazioni necessarie.
Infatti, non tutti i router usano le stesse modalità e/o protocolli e, sinceramente, se un programma mi chiedesse le credenziali per il router, sicuramente non gliele darei. Inoltre, non tutti hanno le credenziali del router perché, in certi casi (vedi Fastweb) sono controllati unicamente dall'ISP. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Credo che l'unico modo intelligente per farlo sia usare UPnP.
UPnP è un protocollo di gestione dei dispositivi in rete. Se il tuo router supporta UPnP e usi un SO UPnP compatibile (oggigiorno sono molto comuni entrambe le cose) è possibile chiedere al router , da programma , di aprire una determinata porta per la comunicazione. uTorrent su Windows per esempio usa UPnP per aprire le porte sul router quando possibile. Per aprire le porte puoi usare una libreria che ti gestisce il protocollo. Cercando così un po' a caso su internet ho trovato queste: http://sourceforge.net/projects/platinum/ http://sourceforge.net/projects/pupn...ce=recommended In bocca al lupo ![]()
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:50.