Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Нужна помосч... Добавлено: 10.04.07 13:46  

Автор вопроса:  killogin
у меня проблема небольшая, нужно вытащить информацию из винды, а конкретно активные интернет подключения (типа как netstat -n).Может что посоветуете.

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 Black Berill



Вопросов: 17
Ответов: 151
 Профиль | | #1 Добавлено: 10.04.07 15:08
Кажись, в примерах это есть

Ответить

Номер ответа: 2
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #2 Добавлено: 10.04.07 15:37
Так и исползуй netstat -n
Тут на сайте где-то точно пример лежал как из консолного приложения инфу получить.
Например Shell "netstat -n > C:\123.txt"

Меня снова глючит или нет ника автора вопроса?

Ответить

Номер ответа: 3
Автор ответа:
 Black Berill



Вопросов: 17
Ответов: 151
 Профиль | | #3 Добавлено: 10.04.07 16:15
блин, а ведь правда нет:)

Ответить

Номер ответа: 4
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #4 Добавлено: 10.04.07 16:17
Пробел - самый лучший в мире ник.....

Ответить

Номер ответа: 5
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #5
Добавлено: 10.04.07 16:40
У него 2 пробилф стоит.кТО ЗНАЕТ КАК К НИМУ ОБРАЩАТСА ОН НЕ УВИДИТ СВОЕГО ИМЕНИ.

Ответить

Номер ответа: 6
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #6 Добавлено: 10.04.07 18:31
кТО ЗНАЕТ КАК К НИМУ ОБРАЩАТСА ОН НЕ УВИДИТ СВОЕГО ИМЕНИ.

НИКАК не обращаться. Желает инкогнито, не хрен вопросы задавать.

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 10.04.07 20:36
GetTcpTable

Ответить

Номер ответа: 8
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #8 Добавлено: 10.04.07 21:13
В догонку пример из Api Guide
'Example by Realcacou (Real-Cacou@Wanadoo.fr)
'--------------------------------------------------------------------------------
'This project needs a command button (Command1), and a listview (Listview1).
'--------------------------------------------------------------------------------
 
Option Explicit

Private Type MIB_TCPROW
    dwState As Long
    dwLocalAddr As Long
    dwLocalPort As Long
    dwRemoteAddr As Long
    dwRemotePort As Long
End Type

Private Const ERROR_SUCCESS            As Long = 0
Private Const MIB_TCP_STATE_CLOSED     As Long = 1
Private Const MIB_TCP_STATE_LISTEN     As Long = 2
Private Const MIB_TCP_STATE_SYN_SENT   As Long = 3
Private Const MIB_TCP_STATE_SYN_RCVD   As Long = 4
Private Const MIB_TCP_STATE_ESTAB      As Long = 5
Private Const MIB_TCP_STATE_FIN_WAIT1  As Long = 6
Private Const MIB_TCP_STATE_FIN_WAIT2  As Long = 7
Private Const MIB_TCP_STATE_CLOSE_WAIT As Long = 8
Private Const MIB_TCP_STATE_CLOSING    As Long = 9
Private Const MIB_TCP_STATE_LAST_ACK   As Long = 10
Private Const MIB_TCP_STATE_TIME_WAIT  As Long = 11
Private Const MIB_TCP_STATE_DELETE_TCB As Long = 12

Private Declare Function GetTcpTable Lib "iphlpapi.dll" (ByRef pTcpTable As Any, ByRef pdwSize As Long, ByVal bOrder As Long) As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dst As Any, src As Any, ByVal bcount As Long)
  
Private Declare Function lstrcpyA Lib "kernel32" (ByVal RetVal As String, ByVal Ptr As Long) As Long
                        
Private Declare Function lstrlenA Lib "kernel32" (ByVal Ptr As Any) As Long
  
Private Declare Function inet_ntoa Lib "wsock32.dll" (ByVal addr As Long) As Long

Private Declare Function ntohs Lib "wsock32.dll" (ByVal addr As Long) As Long
   

Public Function GetInetAddrStr(Address As Long) As String
  
    GetInetAddrStr = GetString(inet_ntoa(Address))

End Function


Private Sub Form_Load()

With ListView1
    .View = lvwReport
    .ColumnHeaders.Add , , "Local IP Address"
    .ColumnHeaders.Add , , "Local Port"
    .ColumnHeaders.Add , , "Remote IP Address"
    .ColumnHeaders.Add , , "Remote Port"
    .ColumnHeaders.Add , , "Status "
End With
   
End Sub


Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)

    ListView1.SortKey = ColumnHeader.Index - 1
    ListView1.SortOrder = Abs(Not ListView1.SortOrder = 1)
    ListView1.Sorted = True
  
End Sub


Public Function GetString(ByVal lpszA As Long) As String

    GetString = String$(lstrlenA(ByVal lpszA), 0)
    Call lstrcpyA(ByVal GetString, ByVal lpszA)
   
End Function


Private Sub Command1_Click()

Dim TcpRow As MIB_TCPROW
Dim buff() As Byte
Dim lngRequired As Long
Dim lngStrucSize As Long
Dim lngRows As Long
Dim lngCnt As Long
Dim strTmp As String
Dim lstLine As ListItem

Call GetTcpTable(ByVal 0&, lngRequired, 1)

If lngRequired > 0 Then
    ReDim buff(0 To lngRequired - 1) As Byte
    If GetTcpTable(buff(0), lngRequired, 1) = ERROR_SUCCESS Then
        lngStrucSize = LenB(TcpRow)
        'first 4 bytes indicate the number of entries
        CopyMemory lngRows, buff(0), 4
        
        For lngCnt = 1 To lngRows
            'moves past the four bytes obtained above
            'to get data and cast into a TcpRow stucture
            CopyMemory TcpRow, buff(4 + (lngCnt - 1) * lngStrucSize), lngStrucSize
            'sends results to the listview
            
            With TcpRow
                Set lstLine = ListView1.ListItems.Add(, , GetInetAddrStr(.dwLocalAddr))
                lstLine.SubItems(1) = ntohs(.dwLocalPort)
                lstLine.SubItems(2) = GetInetAddrStr(.dwRemoteAddr)
                lstLine.SubItems(3) = ntohs(.dwRemotePort)
                lstLine.SubItems(4) = (.dwState)
                Select Case .dwState
                    Case MIB_TCP_STATE_CLOSED:       strTmp = "closed"
                    Case MIB_TCP_STATE_LISTEN:       strTmp = "listening"
                    Case MIB_TCP_STATE_SYN_SENT:     strTmp = "sent"
                    Case MIB_TCP_STATE_SYN_RCVD:     strTmp = "received"
                    Case MIB_TCP_STATE_ESTAB:        strTmp = "established"
                    Case MIB_TCP_STATE_FIN_WAIT1:    strTmp = "fin wait 1"
                    Case MIB_TCP_STATE_FIN_WAIT2:    strTmp = "fin wait 1"
                    Case MIB_TCP_STATE_CLOSE_WAIT:   strTmp = "close wait"
                    Case MIB_TCP_STATE_CLOSING:      strTmp = "closing"
                    Case MIB_TCP_STATE_LAST_ACK:     strTmp = "last ack"
                    Case MIB_TCP_STATE_TIME_WAIT:    strTmp = "time wait"
                    Case MIB_TCP_STATE_DELETE_TCB:   strTmp = "TCB deleted"
                End Select
                lstLine.SubItems(4) = lstLine.SubItems(4) & ";( " & strTmp & " )"
                strTmp = ""
            End With
        
        Next
    
    End If
End If

End Sub


А автора будем звать "Эй ты, как тебя там" (с) Шматрица

Ответить

Номер ответа: 9
Автор ответа:
 Black Berill



Вопросов: 17
Ответов: 151
 Профиль | | #9 Добавлено: 10.04.07 21:30
А автора будем звать "Эй ты, как тебя там" (с) Шматрица

Паццталом

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 10.04.07 23:30
А кого там так звали, а то я не смотрел?

Ответить

Номер ответа: 11
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #11 Добавлено: 10.04.07 23:39
Там когда Морфеус (он же - Шоколадный Заяц) команду представлял, дал такую кличку Нео.

Ответить

Номер ответа: 12
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #12 Добавлено: 11.04.07 05:54
да не знаю я почему ника нет.

Ответить

Номер ответа: 13
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #13 Добавлено: 11.04.07 05:59
В примерах я нашел как из реестр вытаскивать эту информацию (RemoteAccess\Profile помоему), только дело в том что у себя я не могу найти этого раздела.

Ответить

Номер ответа: 14
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #14 Добавлено: 11.04.07 06:01
О вроде с ником разобрался

Ответить

Номер ответа: 15
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #15 Добавлено: 11.04.07 06:05
Если прога будет один раз выполнять эту команду, то такой вариант вполне сойдет, а вот если нужно постоянно следить, такой вариант не катит.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам