Различить Два ВПН соединения. Сверхзадача

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Различить Два ВПН соединения. Сверхзадача

Сообщение student-uni » 27.04.2006 (Чт) 21:51

Долблюсь уже долго.

Дано
Два ВПН соединения (или более). С1 и С2. с разными цель Ай Пи
Создаются На одном виртуальном адаптере.
Напр. С1 соединяется по ВПН с - 192.168.2.133 а
С2 - 192.169.3.144
После соединения каждый адаптер получает динамический адрес,
который каждый раз выпадает случайным образом .
На этот динамический адрес я добавляю маршрут
типа ROUTE ADD причем для С1 один, а для С2 другой.

Вопрос: а как мне не перепутать виртуальные интерфейсы ?

Ведь маршрут я могу положить только после того как соединение установлено, выловив динамически присвоенный Ай пи по Мак адресу например. Но нет гарантии, что пока я ожидаю появления С1,
кто то не вызовет С2. И я буду иметь два абсолютно одинаковых интерфейса с разными ай пи , но не буду знать кому положить какой маршрут.

Как различить их ?

Внизу привожу текст тестовой проги
У кого есть возможность попробовать
с двумя ВПН на одном витуальном интерфейсе
попробуйте найти отличия, которые бы сохранялись
после повторного соединения.

Спасибо всем




Код: Выделить всё
Imports System.Net

Imports System.Net.NetworkInformation
'Imports System.Net.NetworkInformation
Public Class Form1

    Dim ni() As NetworkInterface
    Dim ni2 As NetworkInterface
    Dim pa() As IPAddress
    Dim pa2 As IPAddress
    Dim ipp As GatewayIPAddressInformation
    Dim ia As IPInterfaceProperties
    Dim ia2 As Collection
    Dim ipp2 As GatewayIPAddressInformationCollection
    Dim ipp3 As IPAddressCollection
    Dim ipp4 As UnicastIPAddressInformationCollection
    Dim ipp5 As UnicastIPAddressInformation
    Dim ipp6 As IPAddressInformationCollection
    Dim ipp7 As IPAddressInformation

    Dim iip8 As TcpConnectionInformation
    Dim iip9 As IPGlobalProperties




    Dim ob As Object

 
   
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        ni = NetworkInterface.GetAllNetworkInterfaces



        ListBox1.Items.Clear()

        For Each ni2 In ni
            ListBox1.Items.Add("")

            ListBox1.Items.Add("Description " & ni2.Description)

            ListBox1.Items.Add("MACAddresses: " & ni2.GetPhysicalAddress.ToString) 'MAC
            ListBox1.Items.Add("ID: " & ni2.Id.ToString) 'MAC

            ListBox1.Items.Add("Interface Typ: " & ni2.NetworkInterfaceType.ToString)

            ListBox1.Items.Add("Op Status: " & ni2.OperationalStatus.ToString)
            ListBox1.Items.Add("Speed : " & ni2.Speed.ToString)
            ' ListBox1.Items.Add("Multicast : " & ni2.SupportsMulticast.ToString)

            ia = (ni2.GetIPProperties)

            ipp2 = ia.GatewayAddresses



            'For y = 0 To ipp2.Count - 1
            'ListBox1.Items.Add(ipp2.Item(y).Address)
            'Next

            For Each ipp In ipp2
                ListBox1.Items.Add("GatewayAddresses: " & ipp.Address.ToString)

            Next



            ipp3 = ia.DnsAddresses

            For Each pa2 In ipp3
                ListBox1.Items.Add("DNS adresses: " & pa2.ToString)
            Next



            ipp3 = ia.DhcpServerAddresses  'MASK
            For Each pa2 In ipp3
                ListBox1.Items.Add("MASKE(DHCP): " & pa2.ToString)
            Next



            ipp4 = ia.UnicastAddresses  'WINS

            For Each ipp5 In ipp4
                ListBox1.Items.Add("UncastAddresses: " & ipp5.Address.ToString)
            Next

            ipp6 = ia.AnycastAddresses

            For Each ipp7 In ipp6
                ListBox1.Items.Add("AnycastAddresses: " & ipp7.Address.ToString)
            Next

            ListBox1.Items.Add("DNS Suffix: " & ia.DnsSuffix.ToString)


            ListBox1.Items.Add("HASH CODE: " & ia.GetHashCode().ToString)



        Next

       
        ' iip9.GetActiveTcpConnections()


    End Sub
End Class

Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 121

    TopList