Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

Узнать инфу о компах в сети!   Найти похожие ветки 

 
Grol ©   (2007-02-11 17:13) [0]

Здравствуйте посетители форума! Извините, может я буду повторять некоторые темы в форуме, но поискав по форуму нужную информацию, нашел немного для себя полезного, или эта информация находится в разных местах... Я хотел бы собрать все воедино, то что нашел, на этом форуме, но опыта маловато..

Вопрос в следующем:
У меня есть список ип адресов в TreeView. Необходимо по нажатию на кнопку узнать следующие параметры компьютеров в этом списке:
- Имя компьютера (NETBIOS)
- Доменной имя компьютера
- Рабочую группу (Домен)
- Mac адрес
- Доступные ресурсы (в том числе скрытые, принтера...)
- Есть ли FTP на 21 порту, если 21 порт открыт
- Есть ли сайт HTTP на 80 порту, если 80 порт открыт
- Список открытых портов

Хотелось, чтоб это было в многопоточном режиме, так как наверняка скорость при этом увеличивается... Спасибо всем заранее за помощь! Особенно отцам форума :)


 
Grol ©   (2007-02-12 00:49) [1]

Неужели никто не знает?


 
Сергей М. ©   (2007-02-12 08:25) [2]


> так как наверняка скорость при этом увеличивается


С какого перепугу ?


 
grisme ©   (2007-02-12 10:07) [3]

> Хотелось, чтоб это было в многопоточном режиме
просто не будет "подвисать" при ожидании данных :) скорость не увеличится.

Как вариант могу предложить - написать небольшую софтину-сервер, которая буит в асинхронном режиме ждать коннекты, сервер соберет инфу о себе(так, думаю, буит проще) и при коннекте какого-то клиента(можно прибавить присыл определенного пакета) - отдаст инфу..
ЗЫ серверы расставить на компы, по чьим ip узнавать инфу... клиент - с какого компа узнавать...
если уж нету доступа к ремоут-узлам, то...


 
iXT ©   (2007-02-12 11:57) [4]

Похоже на ТЗ


 
DiamondShark ©   (2007-02-12 12:28) [5]


> Похоже на ТЗ

Намекаешь на то, что сумма не озвучена?
;)


 
Grol ©   (2007-02-12 13:03) [6]

Ребят какая такая там еще сумма?? Я бедный студент 3 курса университета! Хотя бы подскажите по некоторым вопросам?
- Имя компьютера (NETBIOS) +
- Доменной имя компьютера
- Рабочую группу (Домен) +
- Mac адрес +
- Доступные ресурсы (в том числе скрытые, принтера...) +
- Есть ли FTP на 21 порту, если 21 порт открыт +
- Есть ли сайт HTTP на 80 порту, если 80 порт открыт +

Только не предлагайте прогу у Rouse. Дело в том что пинг я уже по диапозону осуществил, при этом обнаруживаю те компы, что сейчас в активном состоянии, а вот узнать инфу о компах не могу... Очень всем буду благодарен за помощь!


 
Grol ©   (2007-02-12 13:10) [7]

И это не ТЗ. :) До технического задания тут не хватает много...


 
Grol ©   (2007-02-12 13:11) [8]

Кстати на Vingrade сказали что узнавать ресурсы можно через SMB сессии...а как это сделать? Неужели никто не знает? Хотя бы маленький пример?


 
novill ©   (2007-02-12 13:51) [9]

> [8] Grol ©   (12.02.07 13:11)

Кое-что можно тут пдсмотреть.

http://kladovka.net.ru/delphibase/?action=viewtopic&topic=netlan


 
Grol ©   (2007-02-12 16:35) [10]

Спасибо novill ща посмотрю, что там есть!


 
Grol ©   (2007-02-12 16:41) [11]

А вот здесь коче-что Rouse на штамповал http://forum.sources.ru/index.php?act=Attach&type=post&id=1450350


 
iXT ©   (2007-02-12 20:27) [12]

Ну к портам можно попытаться приконестится. Если ответили, значит кто-то тут живет :) Еще могу сказать, что есть "страшная" штука WinPCap кажется. Сам ни разу не юзал, но вроде мощная штуковина. Приятель диплом на ней писал.


 
Grol ©   (2007-02-13 15:35) [13]

Ребят по примеру Rouse сделал следующее, скачать можно здесь http://webfile.ru/1314823
Исправил баг с определением временем, добавил определение доменного имени по IP...вообщем посмотрите...Единственное, не определяется Mac адреса компьютеров, которые находятся не в моем сегменте...а как сделать, чтоб Mac адреса компьютеров определялись не только из моего сегмента, я не знаю...может кто, что подскажет?

И все еще остались не решенными вопросы:
- Имя компьютера (NETBIOS)
- Рабочую группу (Домен)
- Mac адрес +\-
- Есть ли FTP на 21 порту, если 21 порт открыт
- Есть ли сайт HTTP на 80 порту, если 80 порт открыт

Всем благодарен за помощь!


 
Сергей М. ©   (2007-02-13 16:54) [14]


> Grol ©   (13.02.07 15:35) [13]


Все это расчудесно, но ты таки не ответил на вопрос в [2]..


 
Rouse_ ©   (2007-02-13 17:34) [15]


> - Имя компьютера (NETBIOS)
> - Рабочую группу (Домен)

В моем примере я тебе сделал эти два поля...
По поводу портов - соединяйся с ними и всего делов. IP адрес и порт тебе известен.


 
Grol ©   (2007-02-13 18:11) [16]

Сергей М. я так думаю запросы о получении информации будут выполняться в параллельном режиме, может единственное ответ будет приходить с опозданием от разных IP! Или я ошибаюсь?

Rouse_ спасибо за помощь, но твой пример работает медленно почему-то в моей сети по сравнению с NetLook, может из-за того что у меня в сети динамические IP DHCP...И еще количество обнаруживаемых компов мало и находит не все рабочие группы....


 
Grol ©   (2007-02-14 02:08) [17]

Ребят больше никто мне не поможет?  :(   :stena   Кстати вот нашел в инете библиотеку выложил сюда http://webfile.ru/1315586 и еще текстовый файл с функция и процедурами полезными по данной теме http://webfile.ru/1315588 ....


 
Grol ©   (2007-02-17 02:59) [18]

Разобрался практически во вовсем, спасибо всем! Только есть маленький вопросик по работе с 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 я не знаю. Может кто-нибудь знает или есть другой способ?


 
iXT ©   (2007-02-17 11:48) [19]

А когда ставишь фрю (ftp), она спрашивает типа какое будет преветствие :)
Можно написать все что угодно, хоть "Wellcome FBI FTP Setver. Here, you can download secret information FREE"


 
Grol ©   (2007-02-17 20:18) [20]

iXT понял...но а всё же как узнать тогда ПО и версию ПО FTP? Разве это невозможно?


 
iXT ©   (2007-02-18 19:58) [21]

А какая разница какой он там. Тебе принципиально? Или ты его ломать хочешь?


 
Grol ©   (2007-02-18 22:32) [22]

Ага принципиально...


 
novill ©   (2007-02-19 09:22) [23]

> [22] Grol ©   (18.02.07 22:32)

Если в RFC по FTP не написано как ftp-сервер должен предоставлять свою версию, то никак не узнаешь.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.056 c
2-1191156516
Kostya2x
2007-09-30 16:48
2007.10.21
Разбор текста с "тегами" и вывод его на RichEdit


1-1186126337
Ekate
2007-08-03 11:32
2007.10.21
работа с потоками


15-1190192760
nikolaygor
2007-09-19 13:06
2007.10.21
Delphi: Сдвиг строчек в редакторе кода


15-1187779146
Сергей М.
2007-08-22 14:39
2007.10.21
Помощь экстрасенса


2-1190789260
yuray
2007-09-26 10:47
2007.10.21
Кто создал экземпляр класса?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский