#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2012
    Posts
    2
    Rep Power
    0

    VB.NET IP disconnector: what is the correct usage of SetTcpEntry to disconnect


    I am trying to create an IP disconnector. This is part from a template that I took that creates a TCPtable. I was trying to add a disconnecting function. However, it does not disconnect.

    Code:
    Code:
      Dim liste() = {"76.9.24.130" ... ... ...}
        Dim pdwSize As Integer
        Dim iRetVal As Integer
        Dim i As Integer
        Dim TcpTableRow As MIB_TCPROW
        Dim pStructPointer As IntPtr = IntPtr.Zero
        Dim iNumberOfStructures As Integer
        ListView1.Items.Clear()
        iRetVal = GetTcpTable(pStructPointer, pdwSize, 0)
        pStructPointer = Marshal.AllocHGlobal(pdwSize)
        iRetVal = GetTcpTable(pStructPointer, pdwSize, 0)
        iNumberOfStructures = Math.Ceiling((pdwSize - 4) / Marshal.SizeOf(GetType(MIB_TCPROW)))
        For i = 0 To iNumberOfStructures - 1
            Dim pStructPointerTemp As IntPtr = New IntPtr(pStructPointer.ToInt32() + 4 + (i * Marshal.SizeOf(GetType(MIB_TCPROW))))
            TcpTableRow = New MIB_TCPROW()
            With TcpTableRow
                .dwLocalAddr = 0
                .dwState = 0
                .dwLocalPort = 0
                .dwRemoteAddr = 0
                .dwRemotePort = 0
            End With
            'Marshal.PtrToStructure(pStructPointerTemp, TcpTableRow)
            TcpTableRow = CType(Marshal.PtrToStructure(pStructPointerTemp, GetType(MIB_TCPROW)), MIB_TCPROW)
            ' Process each MIB_TCPROW here
            'If Not ((Check1.CheckState = System.Windows.Forms.CheckState.Checked) And (GetIpFromLong(TcpTableRow.dwLocalAddr) = "0.0.0.0" Or GetIpFromLong(TcpTableRow.dwLocalAddr) = "127.0.0.1")) Then
            If Not GetIpFromLong(TcpTableRow.dwRemoteAddr) = "127.0.0.1" And Not GetIpFromLong(TcpTableRow.dwRemoteAddr) = "0.0.0.0" Then
                'Add the data to the ListView control
                With TcpTableRow
                    Dim itemAdd As ListViewItem
                    itemAdd = ListView1.Items.Add(GetIpFromLong(.dwLocalAddr))
                    itemAdd.SubItems.Add(CStr(GetTcpPortNumber(.dwLocalPort)))
                    itemAdd.SubItems.Add(GetIpFromLong(.dwRemoteAddr))
                    itemAdd.SubItems.Add(CStr(GetTcpPortNumber(.dwRemotePort)))
                    itemAdd.SubItems.Add(GetState(.dwState))
                End With
                '-------------- Kill Connection--------------
                If Array.IndexOf(liste, GetIpFromLong(TcpTableRow.dwRemoteAddr)) >= 0 Then
                    TcpTableRow.dwState = 12
                    SetTcpEntry(TcpTableRow)
                End If
            End If
        Next
  2. #2
  3. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2012
    Posts
    2
    Rep Power
    0
    come on, can somone please give me a hint?

IMN logo majestic logo threadwatch logo seochat tools logo