![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сканнер расшаренных ресурсов [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 адрес - это четырехбайтовое число без знака.