Advertisement
Sixem

.NET Get TCP Connections

Jul 30th, 2013
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 4.07 KB | None | 0 0
  1. 'Written By Sixem // Gets Active TCP Connections
  2. Public Shared Function Get_Active_TCP_Connections(ByVal EnableFlags As Integer)
  3.         Try
  4.             Dim builder As New System.Text.StringBuilder
  5.             Dim ipProps As System.Net.NetworkInformation.IPGlobalProperties = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
  6.             FrmMain.ConnectionsTCP.Items.Clear()
  7.             For Each connection As System.Net.NetworkInformation.TcpConnectionInformation In ipProps.GetActiveTcpConnections
  8.                 If connection.RemoteEndPoint.ToString.StartsWith("127.") = False Then
  9.                     If connection.RemoteEndPoint.ToString.StartsWith(ChrW(91)) = False Then
  10.                         Dim lvi As ListViewItem = New ListViewItem()
  11.                         lvi.Text = connection.RemoteEndPoint.ToString
  12.                         lvi.SubItems.Add(connection.LocalEndPoint.ToString())
  13.                         lvi.SubItems.Add(connection.State.ToString())
  14.                         lvi.SubItems.Add("TCP")
  15.                         FrmMain.ConnectionsTCP.Items.Add(lvi)
  16.                         Date_Last = Date.Now
  17.                     End If
  18.                 End If
  19.             Next
  20.             Try
  21.                 Dim plNF As New ProcessStartInfo("cmd", "/c netstat -on")
  22.                 plNF.CreateNoWindow = True
  23.                 plNF.UseShellExecute = False
  24.                 plNF.RedirectStandardOutput = True
  25.                 Dim slNet As Process = Process.Start(plNF)
  26.                 Dim oUT As String = slNet.StandardOutput.ReadToEnd()
  27.                 slNet.WaitForExit()
  28.                 Dim cLi As String = "    "
  29.                 While cLi.Length > 1
  30.                     oUT = oUT.Replace(cLi, ChrW(35))
  31.                     cLi = cLi.Remove(cLi.Length - 1, 1)
  32.                 End While
  33.                 oUT = oUT.Remove(0, oUT.LastIndexOf("PID") + 4)
  34.                 Dim sVL As String() = oUT.Split(Environment.NewLine.ToCharArray())
  35.                 For Each MTv As String In sVL
  36.                     If MTv.Contains(ChrW(35)) Then
  37.                         Swarm += 1
  38.                         Dim mProc As Process
  39.                         Dim sIN As String = Nothing
  40.                         Dim xDT As String = MTv.Remove(0, 1)
  41.                         Dim cDE As String() = xDT.Split(Convert.ToChar(ChrW(35)))
  42.                         Try
  43.                             mProc = Process.GetProcessById(Convert.ToInt32(cDE(4).Replace(" ", Nothing)))
  44.                             sIN = mProc.ProcessName
  45.                         Catch ex As Exception
  46.                             sIN = ChrW(36)
  47.                         End Try
  48.                         If sIN.Contains(ChrW(36)) = False Then
  49.                             Dim lvi As ListViewItem = New ListViewItem()
  50.                             lvi.Text = cDE(2)
  51.                             lvi.SubItems.Add(cDE(1))
  52.                             lvi.SubItems.Add(sIN & ".exe")
  53.                             lvi.SubItems.Add("TCP")
  54.                             FrmMain.ConnectionsTCP.Items.Add(lvi)
  55.                         End If
  56.                     End If
  57.                 Next
  58.                 FrmMain.Connections_Status.Text = String.Format("{0} Active Connection(s), {1} In Swarm.", FrmMain.ConnectionsTCP.Items.Count, FrmMain.ConnectionsTCP.Items.Count + Swarm)
  59.             Catch ex As Exception
  60.  
  61.             End Try
  62.             If EnableFlags = 1 Then
  63.                 Dim i As Integer = 0
  64.                 Do Until i = FrmMain.ConnectionsTCP.Items.Count
  65.                     Dim country As String = LookUpDetails(FrmMain.ConnectionsTCP.Items.Item(i).Text.Split(Convert.ToChar(":")).GetValue(0)) & ".png"
  66.                     FrmMain.ConnectionsTCP.Items.Item(i).ImageKey = country
  67.                     i += 1
  68.                 Loop
  69.             End If
  70.             FrmMain.Connections_Status.Text = String.Format("{0} Active Connection(s), {1} In Swarm.", FrmMain.ConnectionsTCP.Items.Count, FrmMain.ConnectionsTCP.Items.Count + Swarm)
  71.             Swarm = 0
  72.         Catch ex As Exception
  73.         End Try
  74.         Return Nothing
  75.     End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement