Catturare l'IP

di il
14 risposte

Catturare l'IP

E' possibile catturare l'IP locale della mia connessione ADSL ???

14 Risposte

  • Re: Catturare l'IP

    Ma tua nel senso del pc dove gira l'applicazione???
  • Re: Catturare l'IP

    L'ip della mia macchina sara 192.168.0.1 ma io vogio l'ip dinamico della mia cpnnessione ADSL, quello che ricavo facendo doppio click nei computerini accanto all'orologio --> dettagli IP Client: xx.xx.xx.xx
  • Re: Catturare l'IP

    Scrivi in una finestra Dos ipconfig /all
    ciao

    sergio
  • Re: Catturare l'IP

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Scrivi in una finestra Dos ipconfig /all
    ciao

    sergio
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    Mi hanno risposto in 6 cosi!!!

    forse mi sono spiegato male io :

    ho una applicazione VB.NET che gira nella macchina dove ho la ADSL,

    vorrei catturare l'IP in una Variabile per poi farne molteplici usi,

    es:

    Private Sub IP_Estract()

    Dim MyIP As String = ???

    End Sub

    come si implementa questa Sub ???
  • Re: Catturare l'IP

    Se usi Vb.net puoi provare:
    ' This program shows how to use the IPAddress class to obtain a server
    ' IP addressess and related information.
    Imports System
    Imports System.Net
    Imports System.Net.Sockets
    Imports System.Text.RegularExpressions
    Imports Microsoft.VisualBasic


    Namespace Mssc.Services.ConnectionManagement
    Module M_TestIPAddress

    Class TestIPAddress

    'The IPAddresses method obtains the selected server IP address information.
    'It then displays the type of address family supported by the server and
    'its IP address in standard and byte format.
    Private Shared Sub IPAddresses(ByVal server As String)
    Try
    Dim ASCII As New System.Text.ASCIIEncoding()

    ' Get server related information.
    Dim heserver As IPHostEntry = Dns.Resolve(server)

    ' Loop on the AddressList
    Dim curAdd As IPAddress
    For Each curAdd In heserver.AddressList

    ' Display the type of address family supported by the server. If the
    ' server is IPv6-enabled this value is: InternNetworkV6. If the server
    ' is also IPv4-enabled there will be an additional value of InterNetwork.
    Console.WriteLine(("AddressFamily: " + curAdd.AddressFamily.ToString()))

    ' Display the ScopeId property in case of IPV6 addresses.
    If curAdd.AddressFamily.ToString() = ProtocolFamily.InterNetworkV6.ToString() Then
    Console.WriteLine(("Scope Id: " + curAdd.ScopeId.ToString()))
    End If

    ' Display the server IP address in the standard format. In
    ' IPv4 the format will be dotted-quad notation, in IPv6 it will be
    ' in in colon-hexadecimal notation.
    Console.WriteLine(("Address: " + curAdd.ToString()))

    ' Display the server IP address in byte format.
    Console.Write("AddressBytes: ")



    Dim bytes As [Byte]() = curAdd.GetAddressBytes()
    Dim i As Integer
    For i = 0 To bytes.Length - 1
    Console.Write(bytes(i))
    Next i
    Console.WriteLine(ControlChars.Cr + ControlChars.Lf)
    Next curAdd

    Catch e As Exception
    Console.WriteLine(("[DoResolve] Exception: " + e.ToString()))
    End Try
    End Sub 'IPAddresses
    non ho fatto delle prove ma il codice che ti ho postato e recuperabile direttamente dalle librerie di classe di .Net Framework.
    Ciao

    sergio
  • Re: Catturare l'IP

    Mi da errore in 2 punti:

    ' Display the ScopeId property in case of IPV6 addresses.
    If curAdd.AddressFamily.ToString() = ProtocolFamily.InterNetworkV6.ToString() Then
    Console.WriteLine(("Scope Id: " + curAdd.ScopeId.ToString()))
    End If


    qui' l'errore:
    -----------------------
    curAdd.ScopeId.ToString()
    -----------------------
    "ScopeId" non e' un membro di "System.Net.IpAddress"

    e

    -----------------------
    Dim bytes As [Byte]() = curAdd.GetAddressBytes()
    -----------------------
    "GetAddressBytes" non e' un membro di "System.Net.IpAddress"
  • Re: Catturare l'IP

    Ciao Web_race
    Ho fatto delle prove e il codice funziona, ma cosi ad occhio mi sà che ho fatto un errore nel copia e incolla del precedente post.
    Alcune premesse :
    Secondo la documentazione Ms la Classe IPAddress non funziona con release del Framework inferiori alla 1.1 ( la cosa è risolvibile giusto ? basta scaricarla...)
    Tra le prove che ho fatto ho notato che il codice di esempio riportato nell'msdn più performante è sicuramente quello C# anche qui non dovresti avere problemi ad integrarlo nel tuo progetto VB.Net per cui ti posto il codice c# ...che funziona...!
    //
    // This program shows how to use the IPAddress class to obtain a server
    // IP addressess and related information.

    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Text.RegularExpressions;

    namespace Mssc.Services.ConnectionManagement
    {

    class TestIPAddress
    {

    /**
    * The IPAddresses method obtains the selected server IP address information.
    * It then displays the type of address family supported by the server and its
    * IP address in standard and byte format.
    **/
    private static void IPAddresses(string server)
    {
    try
    {
    System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();

    // Get server related information.
    IPHostEntry heserver = Dns.Resolve(server);

    // Loop on the AddressList
    foreach (IPAddress curAdd in heserver.AddressList)
    {


    // Display the type of address family supported by the server. If the
    // server is IPv6-enabled this value is: InternNetworkV6. If the server
    // is also IPv4-enabled there will be an additional value of InterNetwork.
    Console.WriteLine("AddressFamily: " + curAdd.AddressFamily.ToString());

    // Display the ScopeId property in case of IPV6 addresses.
    if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString())
    Console.WriteLine("Scope Id: " + curAdd.ScopeId.ToString());


    // Display the server IP address in the standard format. In
    // IPv4 the format will be dotted-quad notation, in IPv6 it will be
    // in in colon-hexadecimal notation.
    Console.WriteLine("Address: " + curAdd.ToString());

    // Display the server IP address in byte format.
    Console.Write("AddressBytes: ");



    Byte[] bytes = curAdd.GetAddressBytes();
    for (int i = 0; i < bytes.Length; i++)
    {
    Console.Write(bytes[i]);
    }

    Console.WriteLine("\r\n");

    }

    }
    catch (Exception e)
    {
    Console.WriteLine("[DoResolve] Exception: " + e.ToString());
    }
    }

    // This IPAddressAdditionalInfo displays additional server address information.
    private static void IPAddressAdditionalInfo()
    {
    try
    {
    // Display the flags that show if the server supports IPv4 or IPv6
    // address schemas.
    Console.WriteLine("\r\nSupportsIPv4: " + Socket.SupportsIPv4);
    Console.WriteLine("SupportsIPv6: " + Socket.SupportsIPv6);

    if (Socket.SupportsIPv6)
    {
    // Display the server Any address. This IP address indicates that the server
    // should listen for client activity on all network interfaces.
    Console.WriteLine("\r\nIPv6Any: " + IPAddress.IPv6Any.ToString());

    // Display the server loopback address.
    Console.WriteLine("IPv6Loopback: " + IPAddress.IPv6Loopback.ToString());

    // Used during autoconfiguration first phase.
    Console.WriteLine("IPv6None: " + IPAddress.IPv6None.ToString());

    Console.WriteLine("IsLoopback(IPv6Loopback): " + IPAddress.IsLoopback(IPAddress.IPv6Loopback));
    }
    Console.WriteLine("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback));
    }
    catch (Exception e)
    {
    Console.WriteLine("[IPAddresses] Exception: " + e.ToString());
    }
    }


    public static void Main(string[] args)
    {
    string server = null;

    // Define a regular expression to parse user's input.
    // This is a security check. It allows only
    // alphanumeric input string between 2 to 40 character long.
    Regex rex = new Regex(@"^[a-zA-Z]\w{1,39}$");

    if (args.Length < 1)
    {
    // If no server name is passed as an argument to this program, use the current
    // server name as default.
    server = Dns.GetHostName();
    Console.WriteLine("Using current host: " + server);
    }
    else
    {
    server = args[0];
    if (!(rex.Match(server)).Success)
    {
    Console.WriteLine("Input string format not allowed.");
    return;
    }
    }

    // Get the list of the addresses associated with the requested server.
    IPAddresses(server);

    // Get additonal address information.
    IPAddressAdditionalInfo();
    }

    }
    }
    Ciao Sergio

    sergio
  • Re: Catturare l'IP

    Grazie mille !!!

    ora lo provo subito!!!

    infatti io l'ho testato con 1.0

    OK!
  • Re: Catturare l'IP

    Prego...
    Ciao


    sergio
  • Re: Catturare l'IP

    Ho provato ma mi ricava l'IP della mia macchina non della mia connessione ADSL !!!
  • Re: Catturare l'IP

    Ciao web_race,
    Questo è quello che ottengo se scrivo da una finestra dos ipconfig/all sulla mia macchina

    Indirizzo IP. . . . . . . . . . . : 62.211.xxx.xxx
    Subnet Mask . . . . . . . . . . . : 255.255.255.xxx
    Gateway predefinito . . . . . . . : 62.211.xxx.xxx
    Server DNS. . . . . . . . . . . : 81.74.228.xxx

    Questo è quello che ottengo se lancio l'eseguibile con il codice che ti ho postato.

    Address: 62.211.xxx.xxx
    AddressBytes: 62211xxxxxx


    SupportsIPv4: True
    SupportsIPv6: False

    Naturalmente ho sostituito i numeri con le x ma ti assicuro che sono uguali.
    (l'indirizzo IP e/o Address è l'indirizzo dinamico assegnato dal mio provider alla mia connessione adsl)
    NON capisco perchè a te non funzioni
    Un paio di domande:
    1) la tua macchina è in rete ?
    2) condividi la tua connessione adsl ?

    Fammi sapere.
    Ciao


    sergio
  • Re: Catturare l'IP

    Ho capito !!!!!!!!!

    sto testando il codice in una macchina con un "Hub" dopo il "Router", ecco perche' non mi da l'IP !!!

    devo fare la prova in una macchina con solamente il "Router" o un "Modem" sensa "Hub"...
  • Re: Catturare l'IP

    Già !
    ;-)
    ciao

    sergio
  • Re: Catturare l'IP

    Interessa anche a me: ci siete riusciti? Bisogna scomodare le WMI?
    Tipo:
    http://www.dotnethell.it/articles/WMI.asp


    Grazie
Devi accedere o registrarti per scrivere nel forum
14 risposte