Welcome to Ultra Developers.

the company that developes your success

Read Blog


How to: List all TCP connections made by your machine using C#

How to: List all TCP connections made by your machine using C#

Sometimes you need to know what the TCP/IP connections that your machine makes across the network. This can help in detecting network problems, network bandwidth problems, and detecting malicious programs that connect to other machines or the Internet.

Using the Code:

To list all TCP connections that your machine makes across the network, follow these steps:

  1. Create a new windows application using Visual Studio 2005/2008/2010.
  2. Rename Form1 to TCPConnectionsForm.
  3. Add a RichTextBox and name it ConnectionsRichTextBox.
  4. Add a button and name it ListTcpButton.
  5. Import the System.Net and System.Net.NetworkInformation namespaces using the following statement:
using System.Net;
using System.Net.NetworkInformation;
  1. The System.Net namespace provides a simple programming interface for many of the protocols used on networks today.
  2. The System.Net.NetworkInformation namespace provides access to network traffic data, network address information, and notification of address changes for the local computer.
  3. Double click the ListTcpButton to create the click event handler for the button.
  4. Add the following code to the ListTcpButton Click Event Handler:
private void ListTcpButton_Click(object sender, EventArgse)
{
    IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();

    TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections();

    foreach (TcpConnectionInformation tcpInfo in tcpConnections)
    {
        message += "State: " + tcpInfo.State.ToString()
            + "\nLocalEndPoint: " + tcpInfo.LocalEndPoint.ToString()
            + "\nRemoteEndPoint: " + tcpInfo.RemoteEndPoint.ToString()
            + "\n\t==========================\n";
    }

    ConnectionsRichTextBox.Text = message + tcpConnections.Length.ToString();
}
  1. In the above code:
    • First we create an object of IPGlobalProperties and name it ipProperties . IPGlobalProperties class provides information about the network connectivity of the local computer. Use the static method GetIPGlobalProperties to fill ipProperties with this information.
    • Create an array of the TcpConnectionInformation class and name it tcpConnections. The TcpConnectionInformation provides information about the Transmission Control Protocol (TCP) connections on the local computer.
    • Call the GetActiveTcpConnections method of the ipProperties object to get information about the Internet Protocol version 4 (IPv4) and IPv6 Transmission Control Protocol (TCP) connections on the local computer.
    • Create a foreach statement and loop into the tcpConnections array and display information about each TCP connection.
    • The TcpConnectionInformation class has three properties:
      • State: Gets the state of this Transmission Control Protocol (TCP) connection.
      • LocalEndPoint: Gets the local endpoint of a Transmission Control Protocol (TCP) connection.
      • RemoteEndPoint: Gets the remote endpoint of a Transmission Control Protocol (TCP) connection.
    • Then we display these information in the ConnectionsRichTextBox and write the count of these connections.
  2. You should review the Local endpoints ports and view your firewall settings to make sure that you allow such kinds of connection or take the necessary actions.
  3. You should review the remote endpoints to know to which IP and ports your machine connects to.

Similar Posts