Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Ip Dinamico Wan Ip - Trovare il proprio IP dinamico con VB


Messaggi consigliati

Inserito:

Sono alla ricerca del sistema per trovare il proprio IP dinamico appoggiato al mio router ADSL.

In particolar modo con VB.

Senza dover aprire la pagina del mio router.

Saluti Max.


Gabriele Corrieri
Inserita:

Ciao

senza agire sul tuo router dovresti trovare qualche pagina web che ti indichi il tuo IP, e prelevare giusto giusto quella sezione di HTML che porta il tuo IP.

Come mai una richiestà così insolita? Magari il problema è risolvibile per un'altra via ... :mellow:

Ciao

supernovellino
Inserita:

scusa ma la domanda è un po' vaga.

Usando un pc con ad esempio winXp basta richiamare il PROMPT dei comandi e digitare ipconfig.

Gabriele Corrieri
Inserita:

[at] novellino

Se hai un router il tuo IP esterno non è quello del tuo pc, e ipconfig o winipcfg non restituiscono l'ip che ti assegna il tuo ISP

[at] Piero Azzoni

La cosa è tragicamente legata col telnet al singolo router, quindi poco portabile ...

Ciao

supernovellino
Inserita:

Scusa Piero, ma se scrivo come hai deto tu, a me, non funziona :D potresti indicarmi il cmd giusto? Mi è venuta la curiosità :blink:

Inserita:

o anche :

trova un po di mail server con sendmail.

dai il comando "helo www" per esempio e lui ti riporta il tuo ip.

poi dai un quit.

per es:

telnet mail.iper.it 25

helo www

quit

output:

220 IPR274.iper.it ESMTP Sendmail 8.9.3+Sun/8.9.1; Wed, 16 Mar 2005 00:07:50 +01

00 (MET)

250 IPR274.iper.it Hello xxxxxxxxxx [xxx.xxx.xxx.xxx], pleased to m

eet you

Inserita:

Ovviamente, essendo un IP dinamico, ad ogni connessione andrà fatta la richiesta dell'IP assunto e quindi la procedura di acquisizione dell'indirizzo andrà implementata nel programma che utilizzerà il dato.

Confermo che l'IP dinamico assegnato dall'ISP non coincide con l'IP della rete locale e quindi non serve interrogare il proprio PC a connessione non attiva.

Inserita:

Vedo che con molto interesse mi avete risposto e vedo che avete capito il mio problema.

In effetti l'ho buttata un po li la mia domanda....

In realtà voglio proprio staccarmi dai servizi offerti in giro... tipo il link alla pagina o ancor meglio al programma che usavo fino a poco fa... EzDNS (fantastico).

Servizzi che dicono a quelle persone il mio IP....

Devo fare un po come fa EzDNS... vedere l'IP lavorarlo, inserirlo in una pag. HTML e ripubblicarlo dove dico io...

Es.

se andate al mio sito www.teknologic.it alla sezione area riservata... non fate altro che lincarvi al mio server web a casa mia. Tutto questo senza avere un IP fisso.

Non riesco a capire il tipo di riflesso che serve x farmi restituire l'IP senza appoggiarmi ad altri.

Inserita:

Massimo, l'IP dinamico non risiede sulla tua macchina, quindi devi per forza richiederne iil numero al tuo ISP. Puoi farlo anche inviando una email ad un indirizzo sicuramente inesistente, costringendo il mail server a risponderti, è questo un ulteriore modo di interrogare il sistema per ottenere quanto cerchi, ma non capisco perché non interrogare direttamente il tuo ISP come ti è stato suggerito dagli altri.

Anche nel caso di IP fisso (che puoi conoscere a priori) comunque si tratta di indirizzo che ti viene assegnato, perché vieni inserito in una rete di computer, non lo decidi tu, quindi la prima volta è proprio come se tu avessi un'assegnazione dinamica, la differenza è che poi quell'indirizzo ti rimane e non varia neppure nei successivi collegamenti.

Inserita:

Bhe.. ok.. il discorso ip fisso, dinamico ecc. lo conosco.

E' solo il fatto di avere l'IP dinamico , prenderlo e lavorarlo... per non prendere un ip statico che tin.it si fa pagare!!

e x di più volevo capire quelle pagine shtml con un codice probabilmente java... che restituiscono l'IP...

vedi..

http://vbnet.mvps.org/resources/tools/getp...tpublicip.shtml

Grazie

Inserita:

Al momento la soluzione di "pidmaster" è qulla che mi piace di +....

Devo solo buttare giù le righe di programma!!!

Ma devo andare a fondo e trovare un'altra soluzione!!

Grazie

Gabriele Corrieri
Inserita: (modificato)

Ciao

prova questo codice, trovato su

http://www.visual-basic.it/tips.asp?id=367&

(è necessaria la registrazione gratuita)

Inserite nella Form un Componente "Microsoft Internet Transfert Control 6.0(SPx)"

  Dim MyIP As String
  MyIP = Inet.OpenURL "http://www.freewebs.com/yourip/ip.html")

in MyIP ritroverete l'Indirizzo IP del Proprio PC

Modificato: da Gabriele Corrieri
  • 1 year later...
Inserita:

io ho scritto un semplice programmino in java x aggiornare il mio ip su dyndns per ora riesco a visualizzare l'ip del mio pc:

import java.io.*; 
import java.net.*; 

public class Main {

    
    public static void main(String[] args) {
    
    String o;
    String c;
     
      try {
          o="http://checkip.dyndns.org";
          URL u = new URL(o);
          URLConnection uc = u.openConnection();
          uc.connect();
          InputStream is = uc.getInputStream();
          BufferedReader r = new BufferedReader(new InputStreamReader(is));
          o=r.readLine();
          o=o.substring(76);
          o=o.substring(0,13);
          c="http://nomeutente:password[at]streamer.net/nic/update?hostname=xyz.homepc.it&myip=";
          c=c+o;
          System.out.println(o);
          System.out.println©;
          r.close();
          }
          catch (IOException e) {
          e.printStackTrace(System.out);
          System.exit(-1);
      }
        
 }
}

come faccio a far inviare la stringa c che se copiata sul browser funziona correttamente ma se uso openConnection(); non funge mi da errore 401!

ciao.

Inserita:

sono riuscito a far funzionare il programmino , ogni tot tempo legge l'ip assegnato dal provider , controlla se è cambiato e se si lo invia a dyndns per aggiornare il dns. si deve inserire i propri nome utente e password e l'indirizzo. nel caso vi serva! le specifiche si trovano sul sito dyndns. B)

package leggweb;

import java.io.*; 
import java.net.*; 

public class Main  {

  static  String url = "http://checkip.dyndns.org";
  static  String c;
  static  String theUsername;
  static  String thePassword;
  static  String o;
  static  String attuale="";
  
   public static void main(String[] args) {
    
   for (;1<2;){
       ipdinamico();                
       o=o.substring(76);
       o=o.substring(0,13);
       System.out.println(o);
       if (attuale==o){
       }
       else{
       c="http://streamer.net/nic/update?hostname=vostro.indirizzo&myip=";   
       c=c+o;
       inviaipdyndns();
       attuale = o;
       System.out.println(o);
       }
       attendere();
    } 
}
    
   public static void ipdinamico() {
     try {          
          URL u = new URL(url);
          URLConnection uc = u.openConnection();
          uc.connect();
          InputStream is = uc.getInputStream();
          BufferedReader r = new BufferedReader(new InputStreamReader(is));
          o=r.readLine();
          r.close();  
        }
          catch (IOException e) {
          e.printStackTrace(System.out);
          System.exit(-1);
      }   
    }
   
   public static void inviaipdyndns(){
      try {    
          URL f = new URL©;
          theUsername ="xxxx";
          thePassword ="zzz";
          String userPassword = theUsername + ":" + thePassword;
          String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());
          URLConnection fc = f.openConnection();
          fc.setRequestProperty ("Authorization", "Basic " + encoding);
          fc.connect();
          InputStream fs = fc.getInputStream();
          BufferedReader fr = new BufferedReader(new InputStreamReader(fs));
          o=fr.readLine();
          fr.close();
          }
          catch (IOException e) {
          e.printStackTrace(System.out);
          System.exit(-1);
      }     
    }  
   public static void attendere(){
       Thread t = Thread.currentThread();
       t.setPriority(1);
       try{
       t.sleep(600000);  //ritardo 1h
       }
       catch (InterruptedException e) {
      System.out.println("Thread interrotto");
      }
     }
}

Gabriele Corrieri
Inserita:

Ciao Luca

ho provato a copiare, incollare e sostituire user e pwd, ma il compilatore della JVM si inca$$a mica da poco ... in pratica ho salvato come JAR.

So che ho scritto qualche ciofecata, ma vediamo se riesco a imparare qualcosa di nuovo.

Ciao

Inserita:

in effetti io l'ho compilato con netbeans 5 ! che errori ti da il compilatore ? sei su windows o linux?

comunque il programmino va rivisto ha un problema con la lunghezza del' ip ma sto corregendo poi ti posto il file corretto

Inserita:

ho letto ora bene il msg devi cambiare il nome da xyz.jar a xyz.java e poi comilato con javac xyz.java

.jar è l'eseguidile che va lanciato con: java -jar xyz.jar

Gabriele Corrieri
Inserita: (modificato)

Ciao

innanzitutto sono su Win2K SP4

Scusa se il tutto ha preso un "nice 15" ... oggi fra una cosa e l'altra ho riesumato la cosa.

La prima prova che ho fatto era un copy'n'paste in un file di testo, rinominato as prova.jar, che lanciato dà picche.

Oggi ho rinominato il jar in java, double click è partito VJ++6 (ho montato visual studio), ma mi rende questi errori:

Il package leggweb non può essere definito nella directory xyz
La classe pubblica Main non può essere definita in "prova.java"
Errore di sintassi
Previsto "("
gli ultimi due errori me li loca nel carattere "chiocciola" in questo codice
try {
URL f = new URL©;
theUsername ="xxxx";

la prova con javac non va in quanto non ho nessun file con quel nome nella directory java.

Sto usando JRE 1.5.0.6 ... anche se sto scaricando NetBeans dal sito Sun.

Ti ringrazio per la pazienza :)

Ciao

Modificato: da Gabriele Corrieri
Inserita:

purtroppo non si può usare il copia incolla , ho notato diversi errori nel testo si vede che il text editor che si usa per i messaggi non accetta tutti i caratteri o lo interpreta come codici . siccome non so come si fa a uploadare i file , ti invio via mp l'ultima "versione" se vuoi rendila disponibile se servisse a qualcuno. sicuramente lo compila anche VJ6++. ottimo netbeans5 che se non erro dispone già del jdk che comprende il compilatore se ho capito bene indipendente dal sistema operativo e la jre che è effettivamente l'interprete per il sistema operativo .

Gabriele Riva
Inserita:
ho notato diversi errori nel testo si vede che il text editor che si usa per i messaggi non accetta tutti i caratteri o lo interpreta come codici

Devi utilizzare i tag [ code ] [ / code ] (codice) che trovi nella finestra d'inserimento dei messaggi.

Ho modificato il codice del tuo post precedente, inserendo i tag code, vedrai adessso che la formattazione e' perfetta.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...