Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сканнер расшаренных ресурсов [D7, WinXP]


Kallega ©   (2003-08-27 09:37:00) 

Доброе утро.
Посмотрел сообщение на аналогичную тему, но не могу никак понять, как осуществить перебор IP-адресов. Т.е. чтобы можно было просканировать определённый диапазон IP-адресов.
Заранее спасибо.


Е-Моё имя   (2003-08-28 09:22:00) [1]


> Желаю успехов
> Это лишнее.

:))))))))))))))))))))))


Ura   (2003-08-28 09:02:00) [2]

Я делал дак:
По ip адресу узнавал имя машины через gethostbyaddr
Потом функцией NetShareEnam смотрел ресурсы


Reindeer Moss Eater   (2003-08-28 08:58:00) [3]

Rouse_ ©
Поподробнее плз.
Поподробнее плиз, о чем поподробнее?

Вы уверены за правильность построения фразы?
Абсолютно

Желаю успехов
Это лишнее.


Rouse_   (2003-08-28 02:46:00) [4]

> Reindeer Moss Eater © (27.08.03 09:59) [6]

Поподробнее плз. Вы уверены за правильность построения фразы?

Желаю успехов


Е-Моё имя   (2003-08-27 11:26:00) [5]

Kallega (27.08.03 11:13)
до дому доберусь, может и поделюсь ;-)
на эту тему щас нет ничо


Kallega   (2003-08-27 11:13:00) [6]

почему же скользкая? может сканить провайдера и не совсем законно.... но что поделаешь, если хочется
а искать в сети примеры - я бы с радостью, но у меня ограничение по трафику, поэтому я сижу только на этом форуме и в аське :(((
если ты говоришь, что находил, может поделишься?


Е-Моё имя   (2003-08-27 10:50:00) [7]

поищи в сети примеры
я нашел в свое время, и ты найдешь ;)
тема-то скользкая, мало кто посоветует чо-нить


Kallega   (2003-08-27 10:24:00) [8]

ишь какой шустрый....

да ничё я не шустрый
существует миллион таких программ, просто хотелось написать самому
я знаю, что сто процентов, можно средствами Delphi такую вещь, только не знаю как :))


Е-Моё имя   (2003-08-27 10:18:00) [9]

ишь какой шустрый....


Kallega   (2003-08-27 10:16:00) [10]

как раз не во всём инете
хочу, чтобы я, например, ввёд диапазон 195.5.57.0-195.5.57.255 - это дипазон ИП-шников Укртелекома - провайдера телефонной связи и инета у нас, на Украине, и получил список расшаренных ресурсов абонентов этого провайдера


Reindeer Moss Eater   (2003-08-27 10:06:00) [11]

так, чтобы она сканировала глобально?
Во всем интернете что ли?


Kallega   (2003-08-27 10:04:00) [12]

Хорошо
Сейчас если я запускаю эту футнкцию в моей локальной сети, она только её и сканирует, а как сделать так, чтобы она сканировала глобально?


Reindeer Moss Eater   (2003-08-27 09:59:00) [13]

[4]
Расшаренные ресурсы не обязаны лежать на хостах, имеющих IP адрес.


Kallega   (2003-08-27 09:53:00) [14]

У тебя исходный вопрос - как осуществить перебор IP-адресов.
//

Да, но в данном контексте :))


Reindeer Moss Eater   (2003-08-27 09:52:00) [15]

The WNetOpenEnum function starts an enumeration of network resources or existing connections.
Функция эта сама реализует поиск доступных ресурсов на доступных хостах


Reindeer Moss Eater   (2003-08-27 09:50:00) [16]

У тебя исходный вопрос - как осуществить перебор IP-адресов.


Kallega   (2003-08-27 09:47:00) [17]

Это понятно.
А здесь куда его подставлять?

procedure TfrmMain.ScanShare(Res: TNetResource; Root: Boolean);
var
hEnum: cardinal;
nrResource: array[0..512] of TNetResource;
dwSize: DWORD;
numEntries: DWORD;
i: DWORD;
dwResult: DWORD;
begin
if Root = True then
dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,
0, nil, hEnum)
else
dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,
0, @Res, hEnum);
if dwResult = NO_ERROR then begin
dwSize := SizeOf(nrResource);
numEntries := DWORD(-1);
if WNetEnumResource(hEnum, numEntries, @nrResource, dwSize) = NO_ERROR then begin
for i := 0 to numEntries - 1 do begin
if nrResource[i].lpRemoteName <> nil then
meIPResults.Lines.Add(nrResource[i].lpRemoteName);
ScanShare(nrResource[i],false);
end;//for
end;//if
WNetCloseEnum(hEnum);
end;//if

end;


Reindeer Moss Eater   (2003-08-27 09:40:00) [18]

IP адрес - это четырехбайтовое число без знака.


Наверх

Титульная страница Поиск, карта сайта Написать письмо