Can anyone help me with this little problem I have? I'm trying to get the IPv4 address of the network interface is being used to access the Internet, but I'm having issues with this. Here is my source code. I am using a network interface class method Get All network interfaces to obtain my information.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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

namespace NetworkInformationMonitor
{
    public partial class Form1 : Form
    {
        private NetworkInterface[] Interfaces = NetworkInterface.GetAllNetworkInterfaces();

        private string NewLine = Environment.NewLine;

        private string Name;
        private string Speed;
        private string BytesSent;
        private string BytesReceived;
        private string OperationalStatus;
        private string PhysicalAddress;

        private int UpdateIndex = 0;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Name = "Name: " + Interfaces[0].Description;
            OperationalStatus = "Operational Status: " + Interfaces[0].OperationalStatus.ToString();
            Speed = "Speed: " + Interfaces[0].Speed.ToString() + " bytes per second";
            BytesSent = "Bytes Sent: " + Interfaces[0].GetIPv4Statistics().BytesSent.ToString();
            BytesReceived = "Bytes Received: " + Interfaces[0].GetIPv4Statistics().BytesReceived.ToString();
            PhysicalAddress = "Physical Address: " + Interfaces[0].GetPhysicalAddress().ToString();

            UpdateIndex++;

            if (UpdateIndex == 30)
            {
                UpdateIndex = 0;
                richTextBox1.Text = Name + NewLine + PhysicalAddress + NewLine + OperationalStatus + NewLine + Speed + NewLine + BytesSent + NewLine + BytesReceived;
            }
        }
    }
}
This article has been dead for over six months. Start a new discussion instead.