Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: скан компов сети Добавлено: 21.03.07 14:59  

Автор вопроса:  Sneaks
была тема про тот как сосканить открытые порт
http://vbnet.ru/forum/show.aspx?id=133278

но мне необходимо просто узнать какие компы в сети, и не важно какие порты открыты. Как это можно сделать?

Ответить

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

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 21.03.07 15:39
пингонуть?

Ответить

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



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #2 Добавлено: 21.03.07 15:46
net view?

Ответить

Номер ответа: 3
Автор ответа:
 Sneaks



Вопросов: 9
Ответов: 84
 Профиль | | #3 Добавлено: 21.03.07 15:52
да пингонуть.
и возможно ли это если стоит фаервол

Ответить

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



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #4
Добавлено: 21.03.07 16:24
ну решение в лоб такое (предположим что просто надо в ListBox добавить:


Private Function GetServers(sDomain As String, lbxTarget as ListBox) As Long
   Dim bufptr          As Long
   Dim dwEntriesread   As Long
   Dim dwTotalentries  As Long
   Dim dwResumehandle  As Long
   Dim se100           As SERVER_INFO_100
   Dim success         As Long
   Dim nStructSize     As Long
   Dim cnt             As Long

   nStructSize = LenB(se100)
   lbxTarget.Clear

  'SV_TYPE_WORKSTATION (0x00000001)
  'SV_TYPE_SERVER (0x00000002).

   success = NetServerEnum(0&, _
                           100, _
                           bufptr, _
                           MAX_PREFERRED_LENGTH, _
                           dwEntriesread, _
                           dwTotalentries, _
                           SV_TYPE_WORKSTATION Or SV_TYPE_SERVER, _
                           0&, _
                           dwResumehandle)

   If success = NERR_SUCCESS And _
      success <> ERROR_MORE_DATA Then
      
      For cnt = 0 To dwEntriesread - 1
         
         CopyMemory se100, ByVal bufptr + (nStructSize * cnt), nStructSize
            
         lbxTarget.AddItem GetPointerToByteStringW(se100.sv100_name)
      Next
      
   End If
   
   Call NetApiBufferFree(bufptr)

End Function

Ответить

Номер ответа: 5
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #5
Добавлено: 21.03.07 16:28
а ну чтобы не искать вот для простоты объявления:

Public Type SERVER_INFO_100
  sv100_platform_id As Long
  sv100_name As Long
End Type

Public Declare Function NetServerEnum Lib "netapi32" _
  ;(ByVal servername As Long, _
   ByVal level As Long, _
   buf As Any, _
   ByVal prefmaxlen As Long, _
   entriesread As Long, _
   totalentries As Long, _
   ByVal servertype As Long, _
   ByVal domain As Long, _
   resume_handle As Long) As Long

Public Declare Function NetApiBufferFree Lib "netapi32" _
   ;(ByVal Buffer As Long) As Long

Public Declare Sub CopyMemory Lib "kernel32" _
   Alias "RtlMoveMemory" _
  ;(pTo As Any, uFrom As Any, _
   ByVal lSize As Long)
   
Public Declare Function lstrlenW Lib "kernel32" _
  ;(ByVal lpString As Long) As Long

Public Function GetPointerToByteStringW(ByVal dwData As Long) As String
   Dim tmp() As Byte
   Dim tmplen As Long
   If dwData <> 0 Then
      tmplen = lstrlenW(dwData) * 2
      If tmplen <> 0 Then
         ReDim tmp(0 To (tmplen - 1)) As Byte
         CopyMemory tmp(0), ByVal dwData, tmplen
         GetPointerToByteStringW = tmp
     End If
   End If
End Function


так же можно искать специфичные виды серверов в сети например все SQL или терминальные, короче вот константы
Public Const SV_TYPE_WORKSTATION         As Long = &H1
Public Const SV_TYPE_SERVER              As Long = &H2
Public Const SV_TYPE_SQLSERVER           As Long = &H4
Public Const SV_TYPE_DOMAIN_CTRL         As Long = &H8
Public Const SV_TYPE_DOMAIN_BAKCTRL      As Long = &H10
Public Const SV_TYPE_TIME_SOURCE         As Long = &H20
Public Const SV_TYPE_AFP                 As Long = &H40
Public Const SV_TYPE_NOVELL              As Long = &H80
Public Const SV_TYPE_DOMAIN_MEMBER       As Long = &H100
Public Const SV_TYPE_PRINTQ_SERVER       As Long = &H200
Public Const SV_TYPE_DIALIN_SERVER       As Long = &H400
Public Const SV_TYPE_XENIX_SERVER        As Long = &H800
Public Const SV_TYPE_SERVER_UNIX         As Long = SV_TYPE_XENIX_SERVER
Public Const SV_TYPE_NT                  As Long = &H1000
Public Const SV_TYPE_WFW                 As Long = &H2000
Public Const SV_TYPE_SERVER_MFPN         As Long = &H4000
Public Const SV_TYPE_SERVER_NT           As Long = &H8000
Public Const SV_TYPE_POTENTIAL_BROWSER   As Long = &H10000
Public Const SV_TYPE_BACKUP_BROWSER      As Long = &H20000
Public Const SV_TYPE_MASTER_BROWSER      As Long = &H40000
Public Const SV_TYPE_DOMAIN_MASTER       As Long = &H80000
Public Const SV_TYPE_SERVER_OSF          As Long = &H100000
Public Const SV_TYPE_SERVER_VMS          As Long = &H200000
Public Const SV_TYPE_WINDOWS             As Long = &H400000  'Win95 and above
Public Const SV_TYPE_DFS                 As Long = &H800000  'Root of DFS tree
Public Const SV_TYPE_CLUSTER_NT          As Long = &H1000000 'NT Cluster
Public Const SV_TYPE_TERMINALSERVER      As Long = &H2000000 'Terminal Server
Public Const SV_TYPE_DCE                 As Long = &H10000000 'IBM DSS
Public Const SV_TYPE_ALTERNATE_XPORT     As Long = &H20000000 'rtn alternate transport
Public Const SV_TYPE_LOCAL_LIST_ONLY     As Long = &H40000000 'rtn local only
Public Const SV_TYPE_DOMAIN_ENUM         As Long = &H80000000
Public Const SV_TYPE_ALL                 As Long = &HFFFFFFFF

Ответить

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



Вопросов: 9
Ответов: 84
 Профиль | | #6 Добавлено: 21.03.07 16:36
пасиб сейчас буду разбиратся =))
PS: как мне нравится этот форум, за 20 появляется ответ над которым ты бился 2 недели =)

Ответить

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



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #7
Добавлено: 21.03.07 17:15
Да, форум супер.

Ответить

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



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #8
Добавлено: 21.03.07 20:03
Sneaks:Мыло в студию и вышлю рабочий пример по интересующему тебя вопросу.

Ответить

Номер ответа: 9
Автор ответа:
 Sneaks



Вопросов: 9
Ответов: 84
 Профиль | | #9 Добавлено: 22.03.07 02:00
мыло: sneaks_ss@rambler.ru

Ответить

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



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #10
Добавлено: 22.03.07 19:17
Проверяй!
С ув.Alex

Ответить

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



Вопросов: 9
Ответов: 84
 Профиль | | #11 Добавлено: 22.03.07 20:09
эээ
спасибо конечно. Но прога показывает что я один в сети =)) либо я тупой либо одно из двух

Ответить

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



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #12
Добавлено: 23.03.07 20:02
Ну,не знаю,не знаю.Прогу я уже давал 2-3 раза и работала...Смотри IP,Firewall,свою рабочую группу(может ты в ней один:(,замечено,что показывает компы только твоёй рабочей группы...подправить нуна ,чтобы находила все компы ,всех имеющихся рабочих групп... )
С ув. Alex.

Ответить

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



Вопросов: 9
Ответов: 84
 Профиль | | #13 Добавлено: 23.03.07 21:44
да, точно работает только в своей рабочей группе, тогда ждем обновления тк у меня все в разных группах

Ответить

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



Вопросов: 9
Ответов: 84
 Профиль | | #14 Добавлено: 23.03.07 22:54
Разбирался с примером Bombardier, за что ему спасибо =)
кое как запустил, но он мне выдает либо название раб группы либо название компа, и то не всех. Как мне узнать по IP?

Ответить

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



Вопросов: 9
Ответов: 84
 Профиль | | #15 Добавлено: 23.03.07 22:55
к стати Dim se100 As SERVER_INFO_100 не запустилась надо 101 =(

Ответить

Страница: 1 |

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



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