Skip to content

Приказ IPv4 адреса мрежних интерфејса

У Windows оперативним системима IPv4 адресу интерфејса можемо видети уносом команде ipconfig /all. На пример:

Microsoft Windows [Version 10.0.19044.1706]
(c) Microsoft Corporation. All rights reserved.
  
C:\>ipconfig /all
  
Windows IP Configuration
  
   Host Name . . . . . . . . . . . . : MAINFRAME
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
  
Ethernet adapter Ethernet:
  
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   Physical Address. . . . . . . . . : 18-31-BF-52-BF-E8
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::f511:aeb5:50fc:7f59%9(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.0.11(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Sunday, May 29, 2022 10:02:23 AM
   Lease Expires . . . . . . . . . . : Sunday, May 29, 2022 7:32:41 PM
   Default Gateway . . . . . . . . . : 192.168.0.1
   DHCP Server . . . . . . . . . . . : 192.168.0.1
   DHCPv6 IAID . . . . . . . . . . . : 270021055
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-22-62-51-F1-18-31-BF-52-BF-E8
   DNS Servers . . . . . . . . . . . : 89.216.1.30
                                       89.216.1.50
   NetBIOS over Tcpip. . . . . . . . : Enabled

Циљ ове вежбе је креирање конзолне апликације која приказује IPv4 адресе свих мрежних интерфејса у рачунару (обично рачунар има макар један мрежни адаптер). За израду ове апликације користићемо класу NetworkInterface из именског простора System.Net.NetworkInformation, као и енумерације из именског простора System.Net.Sockets. Код апликације је прилично једноставан и интуитиван. Читају се све информације о интерфејсима хоста и на излазу се исписује колико их има. Потом се за сваки интерфејс исписује његов опис, тип, IPv4 адреса и маска.

using System;
using System.Net.NetworkInformation;
using System.Net.Sockets;

namespace IPadrese
{
    internal class Program
    {
        static void Main(string[] args)
        {
            NetworkInterface[] interfejsi = NetworkInterface.GetAllNetworkInterfaces();
            Console.WriteLine("Broj mrežnih adaptera: {0}", interfejsi.Length);
            foreach (NetworkInterface interfejs in interfejsi)
            {
                Console.WriteLine();
                Console.WriteLine(interfejs.Description);
                Console.WriteLine("Tip adaptera : {0}", interfejs.NetworkInterfaceType);
                Console.Write("IP adresa    : ");
                foreach (UnicastIPAddressInformation ipAdresa in interfejs.GetIPProperties().UnicastAddresses)
                    if (ipAdresa.Address.AddressFamily == AddressFamily.InterNetwork)
                        Console.WriteLine("{0} / {1}", ipAdresa.Address, ipAdresa.IPv4Mask);
                Console.WriteLine();
            }
        }
    }
}

Тест пример

Broj mreznih adaptera: 2

Realtek PCIe GBE Family Controller
Tip adaptera : Ethernet
IP adresa    : 192.168.0.11 / 255.255.255.0


Software Loopback Interface 1
Tip adaptera : Loopback
IP adresa    : 127.0.0.1 / 255.0.0.0

*можете приметити да су излистани сви мрежни интерфејси на рачунару укључујући и Loopback интерфејс чија је IPv4 адреса 127.0.0.1/8.

Документација

System.Net Namespace: https://learn.microsoft.com/en-us/dotnet/api/system.net

System.Net.Sockets Namespace: https://learn.microsoft.com/en-us/dotnet/api/system.net.sockets

Домаћи задатак

Осмислите графички UI и израдите ову апликацију у виду Windows Forms (.NET Framework) пројекта.