![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Узнать инфу о компах в сети! [D7, WinXP]
Grol © (2007-02-11 17:13:00)Здравствуйте посетители форума! Извините, может я буду повторять некоторые темы в форуме, но поискав по форуму нужную информацию, нашел немного для себя полезного, или эта информация находится в разных местах... Я хотел бы собрать все воедино, то что нашел, на этом форуме, но опыта маловато..
Вопрос в следующем:
У меня есть список ип адресов в TreeView. Необходимо по нажатию на кнопку узнать следующие параметры компьютеров в этом списке:
- Имя компьютера (NETBIOS)
- Доменной имя компьютера
- Рабочую группу (Домен)
- Mac адрес
- Доступные ресурсы (в том числе скрытые, принтера...)
- Есть ли FTP на 21 порту, если 21 порт открыт
- Есть ли сайт HTTP на 80 порту, если 80 порт открыт
- Список открытых портов
Хотелось, чтоб это было в многопоточном режиме, так как наверняка скорость при этом увеличивается... Спасибо всем заранее за помощь! Особенно отцам форума :)
novill (2007-02-19 09:22:00) [1]> [22] Grol © (18.02.07 22:32)
Если в RFC по FTP не написано как ftp-сервер должен предоставлять свою версию, то никак не узнаешь.
Grol (2007-02-18 22:32:00) [2]Ага принципиально...
iXT (2007-02-18 19:58:00) [3]А какая разница какой он там. Тебе принципиально? Или ты его ломать хочешь?
Grol (2007-02-17 20:18:00) [4]iXT понял...но а всё же как узнать тогда ПО и версию ПО FTP? Разве это невозможно?
iXT (2007-02-17 11:48:00) [5]А когда ставишь фрю (ftp), она спрашивает типа какое будет преветствие :)
Можно написать все что угодно, хоть "Wellcome FBI FTP Setver. Here, you can download secret information FREE"
Grol (2007-02-17 02:59:00) [6]Разобрался практически во вовсем, спасибо всем! Только есть маленький вопросик по работе с FTP:
procedure FTPConnect(HostFTP: String; PortFTP, TimeOutFTP: Integer; var ExistFTP: Boolean; var AnswerFTP: String);
var
IdTCP: TIdTCPClient;
begin
ExistFTP:=False;
AnswerFTP:='';
try
try
IdTCP:=TIdTCPClient.Create(nil);
with IdTCP do
begin
Host := HostFTP;
Port := PortFTP;
Connect(TimeOutFTP);
WriteLn;
AnswerFTP := ReadLn(#13#10, TimeOutFTP, 255);
if Pos('220', AnswerFTP)=1 then
ExistFTP:=True
else
begin
ExistFTP:=False;
AnswerFTP:='';
end;
Disconnect;
end;
except
ExistFTP:=False;
AnswerFTP:='';
//Abort;
end;
finally
if IdTCP<>nil then
IdTCP.Free;
IdTCP:=nil;
end;
end;
Написал процедуру, которая соединяется с FTP по указанному хосту и порту... Мне нужно узнать ПО сервера FTP.... я знаю что вся информация о ПО записывается в переменную AnswerFTP после выполнения процедуры. Но дело в том, что у каждого FTP сервера свое приветствие, т.е. у некоторых такое - "220 Gene6 FTP Server v3.8.0 (Build 34) ready..." , у некотрых - "220 Serv-U FTP Server v6.3 for WinSock ready...", а у других - "220 Welcome to Cramp FTP service". Вообщем у своего FTP сервера свое приветствие....а как мне взять из переменной AnswerFTP, ту информацию, которая бы отвечала за ПО FTP я не знаю. Может кто-нибудь знает или есть другой способ?
Grol (2007-02-14 02:08:00) [7]Ребят больше никто мне не поможет? :( :stena Кстати вот нашел в инете библиотеку выложил сюда http://webfile.ru/1315586и еще текстовый файл с функция и процедурами полезными по данной теме http://webfile.ru/1315588....
Grol (2007-02-13 18:11:00) [8]Сергей М. я так думаю запросы о получении информации будут выполняться в параллельном режиме, может единственное ответ будет приходить с опозданием от разных IP! Или я ошибаюсь?
Rouse_ спасибо за помощь, но твой пример работает медленно почему-то в моей сети по сравнению с NetLook, может из-за того что у меня в сети динамические IP DHCP...И еще количество обнаруживаемых компов мало и находит не все рабочие группы....
Rouse_ (2007-02-13 17:34:00) [9]
> - Имя компьютера (NETBIOS)
> - Рабочую группу (Домен)
В моем примере я тебе сделал эти два поля...
По поводу портов - соединяйся с ними и всего делов. IP адрес и порт тебе известен.
Сергей М. (2007-02-13 16:54:00) [10]
> Grol © (13.02.07 15:35) [13]
Все это расчудесно, но ты таки не ответил на вопрос в [2]..
Grol (2007-02-13 15:35:00) [11]Ребят по примеру Rouse сделал следующее, скачать можно здесь http://webfile.ru/1314823
Исправил баг с определением временем, добавил определение доменного имени по IP...вообщем посмотрите...Единственное, не определяется Mac адреса компьютеров, которые находятся не в моем сегменте...а как сделать, чтоб Mac адреса компьютеров определялись не только из моего сегмента, я не знаю...может кто, что подскажет?
И все еще остались не решенными вопросы:
- Имя компьютера (NETBIOS)
- Рабочую группу (Домен)
- Mac адрес +\-
- Есть ли FTP на 21 порту, если 21 порт открыт
- Есть ли сайт HTTP на 80 порту, если 80 порт открыт
Всем благодарен за помощь!
iXT (2007-02-12 20:27:00) [12]Ну к портам можно попытаться приконестится. Если ответили, значит кто-то тут живет :) Еще могу сказать, что есть "страшная" штука WinPCap кажется. Сам ни разу не юзал, но вроде мощная штуковина. Приятель диплом на ней писал.
Grol (2007-02-12 16:41:00) [13]А вот здесь коче-что Rouse на штамповал http://forum.sources.ru/index.php?act=Attach&type=post&id=1450350
Grol (2007-02-12 16:35:00) [14]Спасибо novill ща посмотрю, что там есть!
novill (2007-02-12 13:51:00) [15]> [8] Grol © (12.02.07 13:11)
Кое-что можно тут пдсмотреть.
http://kladovka.net.ru/delphibase/?action=viewtopic&topic=netlan
Grol (2007-02-12 13:11:00) [16]Кстати на Vingrade сказали что узнавать ресурсы можно через SMB сессии...а как это сделать? Неужели никто не знает? Хотя бы маленький пример?
Grol (2007-02-12 13:10:00) [17]И это не ТЗ. :) До технического задания тут не хватает много...
Grol (2007-02-12 13:03:00) [18]Ребят какая такая там еще сумма?? Я бедный студент 3 курса университета! Хотя бы подскажите по некоторым вопросам?
- Имя компьютера (NETBIOS) +
- Доменной имя компьютера
- Рабочую группу (Домен) +
- Mac адрес +
- Доступные ресурсы (в том числе скрытые, принтера...) +
- Есть ли FTP на 21 порту, если 21 порт открыт +
- Есть ли сайт HTTP на 80 порту, если 80 порт открыт +
Только не предлагайте прогу у Rouse. Дело в том что пинг я уже по диапозону осуществил, при этом обнаруживаю те компы, что сейчас в активном состоянии, а вот узнать инфу о компах не могу... Очень всем буду благодарен за помощь!
DiamondShark (2007-02-12 12:28:00) [19]
> Похоже на ТЗ
Намекаешь на то, что сумма не озвучена?
;)
iXT (2007-02-12 11:57:00) [20]Похоже на ТЗ