Ricavare l’IP del PC appartenente ad una LAN (10, 172, 192)

Public Class GetIP
  Public Function GetIP() As String
 
    GetIP = ""
 
    Dim IPList As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName)
 
    For Each IPaddress As IPAddress In IPList.AddressList
 
      'Only return IPv4 routable IPs
 
      If (IPaddress.AddressFamily = Sockets.AddressFamily.InterNetwork) AndAlso (IsPrivateIP(IPaddress.ToString)) Then
 
        GetLocalIP = IPaddress.ToString
 
      End If
 
    Next
 
    Return GetIP
 
  End Function
 
  '****************************************** 
 
  Function IsPrivateIP(ByVal IPToControl As StringAs Boolean
    Dim Val1, Val2 As Integer
    Val1 = CInt(IPToControl.Substring(0, IPToControl.IndexOf(".")))
    Val2 = CInt(IPToControl.Substring(IPToControl.IndexOf(".") + 1).Substring(0, IPToControl.IndexOf(".")))
    Select Case Val1
      Case 10
        Return True
      Case 172
        If Val2 >= 16 And Val2 <= 31 Then Return True
      Case 192
        If Val2 = 168 Then Return True
    End Select
    Return False
  End Function
 
End Class

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Non sono una macchina... *