Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизNetBios Найти похожие ветки
← →
Katya_mgkit (2004-03-25 11:04) [0]Здравствуйте мастера….есть машина которая работает по NetBios протоколу…я не хочу разбираться как работает этот протокол мне просто надо узнать как я могу определить в включена ли сейчас машина или нет (Аналог ping) очень прошу срочно надо….
← →
Rouse_ © (2004-03-25 11:14) [1]Сделать тотже самый пинг через idICMPClient
Проверить отрыт ли 139 порт по данному адресу
Хотя в некоторых случаях ни тот ни другой способ могут не дать положительного результата
← →
Katya_mgkit (2004-03-25 11:38) [2]на этом компе ОС - Dos
← →
Digitman © (2004-03-25 13:56) [3]
> на этом компе ОС - Dos
а какая разница, что за ОС там ?
протокол - он и в Африке протокол !
на то он и протокол, чтобы взаимодействующие процессы не "задумывались" о том, где и как реализован этот протокол, ибо протокол - это набор установленных разработчиком стандартных соглашений по взаимодействию сторон
← →
Katya_mgkit (2004-03-25 16:22) [4]
> Digitman © (25.03.04 13:56) [3]
>
> > на этом компе ОС - Dos
>
>
> а какая разница, что за ОС там ?
>
> протокол - он и в Африке протокол !
>
> на то он и протокол, чтобы взаимодействующие процессы не
> "задумывались" о том, где и как реализован этот протокол,
> ибо протокол - это набор установленных разработчиком стандартных
> соглашений по взаимодействию сторон
мило с твоей стороны за лекцию только мне от этого не легче...
← →
Katya_mgkit (2004-03-25 16:30) [5]неужели трудно просто написать пару строчек или дать ссылочку на примерчик только простой у меня нет времени разбираться ...
← →
BiN © (2004-03-25 16:31) [6]если есть NetBios -значит есть и расшаренные ресурсы. Проверяй доступ к ним.
← →
rezya © (2004-03-26 01:24) [7]Вот тебе пару строчек:
begin
if (WSAStartup($202,Data) <> 0)then Showmessage("ошибка");
Sock:=Socket(AF_INET, SOCK_STREAM, 0);
if (Sock=INVALID_SOCKET) then Synchronize(INVALID_SOCKET1);
Addr.sin_family:=AF_INET;
Addr.sin_addr.S_addr:=inet_Addr(PChar(IpAdress));
k:=StartPort;
repeat
begin
Addr.sin_port:=htons(k);
Synchronize(Count);
if Connect(Sock,Addr,Sizeof(Addr))<>0 then
begin
//Synchronize(Error);
end
else
begin
Synchronize(Good);
Shutdown(Sock,0);
WSACleanup;
if (WSAStartup($202,Data) <> 0)then Synchronize(WSAStartup1);
Sock:=Socket(AF_INET, SOCK_STREAM, 0);
if (Sock=INVALID_SOCKET) then ShowMessage("Ошибка создания сокета");
Addr.sin_family:=AF_INET;
Addr.sin_port:=htons(k);//Номер порта
Addr.sin_addr.S_addr:=inet_Addr(PChar(IpAdress));//IP-адрес в десятичной форме с точкой т.е. 127.0.0.1
If connect(Sock, Addr, SizeOf(Addr)) = SOCKET_ERROR) then showmessage("Машины в сети нет") else showmessage("Машина в сети");
это если делать на win Api функциях. А можно и просто на компоненте Client socket. Если будут вопросы спрашивай.
← →
Alex Konshin © (2004-03-26 06:10) [8]Чего-то быстро вы все забыли.
А с чего это вы решили, что это Netbios over TCP/IP?
А если это не так, то и TCP/IP вполне может и не быть. Учитывая то, что на той машине DOS, предполагать там наличие TCP/IP стека я бы не стал. То есть, ping там не подойдет.
Наводящий вопрос к автору: можно ли пингануть эту машину из командной строки командой ping? Если да, то тогда вам помогут приведенные выше примеры, если нет - ищите на Torry пакеты для работы с Netbios.
Теоретически и в этом случае можно сделать через Winsock2, но только это не так просто, потому как практически недокументировано.
← →
Polevi © (2004-03-26 10:07) [9]http://www.itbook.ru/upload/book_pdf/894.pdf
← →
Anatoly Podgoretsky © (2004-03-26 10:18) [10]В Дельфи приложен nb30.pas для работы с Netbios, но вот найти описание самого Netbios не так просто.
← →
Polevi © (2004-03-26 10:35) [11]>Anatoly Podgoretsky © (26.03.04 10:18) [10]
у себя не нашел, есть на filesearch.ru + [9] даст ответ на вопрос, там одна ф-ия всего и одна структура, для простого пинга код на 10 строк
← →
Katya_mgkit (2004-03-26 11:11) [12]
> Чего-то быстро вы все забыли.
> А с чего это вы решили, что это Netbios over TCP/IP?
> А если это не так, то и TCP/IP вполне может и не быть. Учитывая
> то, что на той машине DOS, предполагать там наличие TCP/IP
> стека я бы не стал. То есть, ping там не подойдет.
>
> Наводящий вопрос к автору: можно ли пингануть эту машину
> из командной строки командой ping? Если да, то тогда вам
> помогут приведенные выше примеры, если нет - ищите на Torry
> пакеты для работы с Netbios.
да ты прав пинг не проходит...
> Теоретически и в этом случае можно сделать через Winsock2,
> но только это не так просто, потому как практически недокументировано.
← →
rezya © (2004-03-26 12:39) [13]Не не не...
О чем вы тут разговариваете селать ping из командной строки..
Он же будет делать пинг не на порт netbios а на порт пинга.
А вы учли что машина под DOS-ом работает. В ней может и не стоять обработка ICMP сообщений (PING-а) или порты пинга закрыты. А NetBios работает насколько я помню в стеке tcp\ip если сомневаетесь то go читать RFC. А в данном случае надо просто (если заведомо знаешь что какойто сервис открыт) то так сказать просканировать какой либо порт в данном случае NETBios.
← →
Polevi © (2004-03-26 12:52) [14]>rezya © (26.03.04 12:39) [13]
не, мне интересно, что значит "просканировать NetBios порт"
по какому протоколу сканировать ты собрался, если по TCP то [8] иначе [9]
← →
Anatoly Podgoretsky © (2004-03-26 19:16) [15]rezya © (26.03.04 12:39) [13]
У ICMP нет портов, как ты будешь пинговать порт, которого в природе не существует.
ДОС и TCP/IP не являются антогонистами, спокойно могут сосуществовать, так что это мы тоже учли. Но вероятнее TCP стека там нет, ICMP наверно тоже, а есть Netbios и имя машины по нему, вот мащину и можно найти, для этого и нужен nb30.pas
← →
rezya © (2004-03-26 19:46) [16]
> не, мне интересно, что значит "просканировать NetBios порт"
> по какому протоколу сканировать ты собрался, если по TCP
> то [8] иначе [9]
Так я же и заметил что если на том компе поддерживается TCP\IP.
И что то я не пойму, а каким транспортом вы думаете пользуется NETBios?
И что значит по какому протоколу?
Я хотел бы привести цитату из одной книги(RFC):
<NetBIOS использует в качестве транспортных протоколов TCP и UDP.>
Т.Е. При использовании этого протокола полюбому используются транспорты IP модуля => заключаем что машина из под Dos-a полюбому поддерживает протокол TCP\IP. Другой вопрос о пинге. В DOS может и не поддерживать его, хотя врятли.
← →
Polevi © (2004-03-26 19:51) [17]<NetBIOS использует в качестве транспортных протоколов TCP и UDP.>
или IPX\SPX, NetBEUI
← →
Alex Konshin © (2004-03-26 20:27) [18]<NetBIOS использует в качестве транспортных протоколов TCP и UDP.>
Т.Е. При использовании этого протокола полюбому используются транспорты IP модуля => заключаем что машина из под Dos-a полюбому поддерживает протокол TCP\IP. Другой вопрос о пинге. В DOS может и не поддерживать его, хотя врятли.
Новое поколение никаких протоколов кроме TCP/IP не знает.
RFC описывают TCP/IP, тут они тебе не помогут.
TCP/IP это не протокол, а протоколы, среди которых ICMP, так что если есть TCP/IP, то пинг будет (не будем рассматривать случаи, когда его специально запрещают). В ICMP нет понятия портов.
Вернемся к Netbeui. Именно с ним, скорее всего, мы имеем дело, т.к. старые версии Windows и MS Client предлагали его по умолчанию.
← →
rezya © (2004-03-26 20:36) [19]По поводу Netbeui или Стек Протоколов TCP\IP :-))))
тут уже надо уточнить где происходит дело в локалке или INTERNETE. Но помоему и так ясно что в локалке (ато Dos и в Inete :-))) поэтому да, скорее всего Netbeui тогда ищем компоненту там где и было предложено ранее.
Теперь по поводу пинга "А как она\он его делала" может просто банальная ошибка?
И теперь по поводу портов в ICMP - это я просто сказал и не подумал, так сказать увлекся.
← →
Anatoly Podgoretsky © (2004-03-27 14:24) [20]NetBIOS это протокол более высокого уровня, он находится над транспортными протоколами и независим от них. Традиционно он работает над IPX/SPX но это не обязательное условие.
← →
Piter © (2004-03-27 14:59) [21]Anatoly Podgoretsky (27.03.04 14:24) [20]
Традиционно он работает над IPX/SPX но это не обязательное условие
даже не знаю. Сейчас NB используется обычно только службой Файлов и принтеров от MS. А в локалках сейчас обычно TCP/IP пользуют... так что IPX/SPX отживает свое... наверное
← →
Anatoly Podgoretsky © (2004-03-27 15:14) [22]Сейчас да, но они используют не совсем Netbios, a Netbeui, хотя по сути это одно и тоже. Жа и протокол используют сосвсем не этот, а инкапсулируют в TCP
У Катерины же явно чистый дос и наверно LanMan
← →
Piter © (2004-03-27 16:49) [23]Я вот что думаю, уважаемые мастера...
NetBios там зачем используется? Чтобы ресурсы расшаренные использовать, верно? Ну так почему бы не воспользоваться функцией WNetOpenEnum, если вернет NO_ERROR - значит комп жив, если ошибка - значит не жив. Или по крайней мере достучаться до него по NB невозможно...
Что думаете?
← →
Alt-Ctrl-Del (2004-03-27 19:32) [24]Короче говоря всетаки добились своего чтобы небыло ни каких дискусий как уже сказал Rezya надо узнать что у неё работает т.е.локалка или I-Net, это раз. А два все дружно читаем (9).
← →
Katya_mgkit (2004-03-29 10:40) [25]хм...почетала все что вы написали-ничего не поняла...;)
Итак...Во первых эти машины находятся в LAN Во вторых я может мало что понимаю но tcp\ip и icmp вообще там и не пахнет…
> Piter © (27.03.04 16:49) [23]
> Я вот что думаю, уважаемые мастера...
>
> NetBios там зачем используется? Чтобы ресурсы расшаренные
> использовать, верно? Ну так почему бы не воспользоваться
> функцией WNetOpenEnum, если вернет NO_ERROR - значит комп
> жив, если ошибка - значит не жив. Или по крайней мере достучаться
> до него по NB невозможно...
> Что думаете?
да действительно Netbios там используется только для того что бы использовать расшаренные ресурсы...(на каждой из этих машин расшарен диск с ) так вот действетельно можно проверять таким способом...вот только я не очень понела как это сделать если можно поподробнее ....
З.Ы. Всем кто помогает передаю поцелуйчик....;)
← →
Piter © (2004-03-29 19:16) [26]А что поподробнее? Прочитай Win32 SDK, прочитай статью на этом сайте http://www.delphimaster.ru/articles/netmon/index.html , там все достаточно подробно
← →
Piter © (2004-03-29 19:19) [27].Ы. Всем кто помогает передаю поцелуйчик....;)
А вот после этого желание помогать и пропадает... как будто покупают
← →
Rezya © (2004-03-29 20:05) [28]Всем кто помогает передаю поцелуйчик....;)
Хмм.. А мне это понравилось ;-))))
← →
Alex Konshin © (2004-03-30 04:31) [29]Хорошо, что жена это не читает - еле помаду вытереть успел.
:)
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.06 c