На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> Таблица NetBIOS-имен удаленных компьютер , WinApi
    Подскажите пожалуйста, как бы посмотреть таблицу NetBIOS имен удаленного компьютера? (по типу nbtstat -a IP)
    Или какую-нибудь коману, с чего бы начать разбираться...
      ExpandedWrap disabled
        nbtstat -a имяУдаленногоКомпа
        Вот лови примерчик:

        ExpandedWrap disabled
          ////////////////////////////////////////////////////////////////////////////////
          //
          //  ****************************************************************************
          //  * Unit Name : Unit1
          //  * Purpose   : Демо получение информации NETBIOS именах компьютера
          //                (аналог nbtstat -a)
          //  * Author    : Александр (Rouse_) Багель
          //  * Version   : 1.00
          //  ****************************************************************************
          //
           
          unit Unit1;
           
          interface
           
          uses
            Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
            Dialogs, Nb30, StdCtrls;
           
          type
            TNetbiosInfo = record
              AdapterStatus: TAdapterStatus;
              NameBuffer: Array [0..30] of TNameBuffer;
            end;
           
            TForm1 = class(TForm)
              Edit1: TEdit;
              Button1: TButton;
              Memo1: TMemo;
              procedure Button1Click(Sender: TObject);
            private
              procedure GetNetBiosNames(const Addr: String);
            end;
           
          var
            Form1: TForm1;
           
          implementation
           
          {$R *.dfm}
           
          procedure TForm1.GetNetBiosNames(const Addr: String);
          var
            NCB: TNCB;
            Enum: TLanaEnum;
            NetbiosInfo: TNetbiosInfo;
            I, A: Integer;
            Ends: Byte;
          begin
            FillChar(NCB, SizeOf(TNCB), #0);
            NCB.ncb_command := Char(NCBENUM);
            NCB.ncb_buffer := @Enum;
            NCB.ncb_length := SizeOf(TLanaEnum);
            if Netbios(@NCB) = Char(NRC_GOODRET) then
              for I := 0 to Integer(Enum.length) - 1 do
              begin
                FillChar(NCB, SizeOf(TNCB), #0);
                NCB.ncb_lana_num := Enum.lana[I];
                NCB.ncb_command := Char(NCBRESET);
                if Netbios(@NCB) = Char(NRC_GOODRET) then
                begin
                  FillChar(NetbiosInfo, SizeOf(TNetbiosInfo), #0);
                  NCB.ncb_command := Char(NCBASTAT);
                  Move(Addr[1], NCB.ncb_callname[0], Length(Addr));
                  NCB.ncb_buffer := @NetbiosInfo;
                  NCB.ncb_length := SizeOf(TNetbiosInfo);
                  if Netbios(@NCB) = Char(NRC_GOODRET) then
                    for A := 0 to NetbiosInfo.AdapterStatus.name_count - 1 do
                    begin
                      Ends := Byte(NetbiosInfo.NameBuffer[A].name[NCBNAMSZ - 1]);
                      NetbiosInfo.NameBuffer[A].name[NCBNAMSZ - 1] := #32;
                      Memo1.Lines.Add(Format('%s <%s>',
                        [String(NetbiosInfo.NameBuffer[A].name),
                          IntToHex(Ends, 2)]));
                    end;
                end;
              end;
          end;
           
          procedure TForm1.Button1Click(Sender: TObject);
          begin
            GetNetBiosNames(Edit1.Text);
          end;
           
          end.
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0190 ]   [ 15 queries used ]   [ Generated: 19.07.25, 07:06 GMT ]