亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nbtstat.pas

?? 該程序用D5編譯
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{
  (c)2001 zw84611
  this unit do the samce thing as dos command "nbtstat -a ip".
  
  This is not a vcl component, it's just a unit, needn't install.
}
unit Nbtstat;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, Dialogs, WinSock, ComCtrls, Forms;

const
  WM_SOCK = WM_USER + 1;     //自定義windows消息
  //UDPPORT = 6767;            //設(shè)定UDP端口號
  NBTPORT = 137;             //NAME_SERVICE_UDP_PORT   137 (decimal)  (RFC1002)

type
  TNbt = class(TComponent)
  private
    s: TSocket;
    addr: TSockAddr;
    FSockAddrIn : TSockAddrIn;  //利用消息實時獲知UDP消息
    FHandle: HWnd;              //非可視構(gòu)件消息處理使用
    procedure ReadData(var Message: TMessage); //message WM_SOCK;
    procedure RecvNbMsg(buffer: array of byte;len:integer;IP:string);
    procedure SendData(b:array of byte;IP:string);
  public
    wait_time:            integer;
    StartIP, EndIP: string;
    StatusString: string;
    MyListView: TListView;
    OnEndEvent: TNotifyEvent;
    OnSendEvent: TNotifyEvent;
    OnAddNodeEvent: TNotifyEvent;
    //RootTreeNode: TTreeNode;
    
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Start;
    procedure Stop;
    procedure Pause;
    procedure Restart;

  end;

  TSendDataThread=class(TThread)
  private
    IP, IP1, IP2: string;
  protected
    procedure Execute; override;
    procedure GetIP;
    procedure Send;
    procedure OnExit;
  end;

var
  Nbt: TNbt;
  B1,B2:                array [0..3]of byte;
  SendDataThread:       TSendDataThread;
  WAIT_ACK_EVENT:       Thandle;
  exit_nbt_thread:          boolean;

implementation
//uses FmxUtils; // IsLegalIP
{
function IsLegalIP(IP:string):boolean;
begin

  if Longword(inet_addr(pchar(IP)))=INADDR_NONE then
  begin
     result:=false;
     exit;
  end
  else result:=true;

end;
}

{
procedure GetAddrByte(IP:string;var B:array of byte);
var i,j:integer;
    s:string;
begin

   s:='';
   j:=0;
   IP:=IP+'.';
   for i:=1 to length(IP)do
   begin
     if IP[i]<>'.' then s:=s+IP[i]
     else
     begin
       B[j]:=byte(strtoint(s));
       inc(j);
       s:='';
     end;
   end;

end;
}

procedure TSendDataThread.Send;
{
  RFC1002: " PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT:
           DETAILED SPECIFICATIONS "
           
  4.2.17.  NODE STATUS REQUEST

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         NAME_TRN_ID           |0|  0x0  |0|0|0|0|0 0|B|  0x0  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          0x0001               |           0x0000              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          0x0000               |           0x0000              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   /                         QUESTION_NAME                         /
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         NBSTAT (0x0021)       |        IN (0x0001)            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
}
const NbtstatPacket:array[0..49]of byte
      =($0,$0,$0,$0,$0,$1,
      $0,$0,$0,$0,$0,$0,$20,$43,$4b,
      $41,$41,$41,$41,$41,$41,$41,$41,
      $41,$41,$41,$41,$41,$41,$41,$41,
      $41,$41,$41,$41,$41,$41,$41,$41,
      $41,$41,$41,$41,$41,$41,$0,$0,$21,$0,$1);
begin

    Nbt.StatusString := '正在測試:' + IP;
    if assigned(Nbt.OnSendEvent) then Nbt.OnSendEvent(nil);
    Nbt.SendData(NbtstatPacket, IP);

end;

procedure TSendDataThread.GetIP;
begin

  IP1 := Nbt.StartIP;
  IP2 := Nbt.EndIP;

end;

procedure TSendDataThread.OnExit;
begin

  if assigned(Nbt.OnEndEvent) then Nbt.OnEndEvent(nil);

end;

procedure TSendDataThread.Execute;
var
  nIP1, nIP2, i: dword;
begin

  Synchronize(GetIP);
  
  {if (not IsLegalIP(IP1))or(not IsLegalIP(IP2))  then
  begin
    ShowMessage('Illegal IP address!');
    exit;
  end; }

  //GetAddrByte(IP,B1);
  //GetAddrByte(IP2,B2);
  nIP1 := ntohl(inet_addr(pchar(IP1)));
  nIP2 := ntohl(inet_addr(pchar(IP2)));

  for i := nIP1 to nIP2 do
  begin
    if exit_nbt_thread then
    begin
      Synchronize(OnExit);
      exit;
    end;

    //去掉x.x.x.0或x.x.x.255的地址。
    if (((i - 255) mod 256)=0)or((i mod 256)=0) then continue;

    IP := inet_ntoa(in_addr(htonl(i)));
    Synchronize(Send);

    WaitForSingleObject(WAIT_ACK_EVENT,Nbt.wait_time);
    ResetEvent(WAIT_ACK_EVENT);
  end;
{
  repeat

    if exit_thread then
    begin
      Synchronize(OnExit);
      exit;
    end;
    IP:=format('%d.%d.%d.%d',[B1[0],B1[1],B1[2],B1[3]]);
    Synchronize(Send);

    WaitForSingleObject(WAIT_ACK_EVENT,Nbt.wait_time);
     ResetEvent(WAIT_ACK_EVENT);

    if(B1[2]<=B2[2]) then
    begin
       if(B1[3]<B2[3]) then inc(B1[3])
       else if((B1[2]<B2[2]) and (B1[3]<255))then inc(B1[3])
       else if((B1[2]<B2[2]) and (B1[3]=255)) then
       begin
               B1[3]:=1;
               inc(B1[2]);
       end;
    end
    else break;
    if((B1[3]>=B2[3]) and (B1[2]>=B2[2])) then break;

  until ((B1[2]=255));// or (B1[3]=255));
}

  Synchronize(OnExit);

end;

constructor TNbt.Create(AOwner: TComponent);
var
   TempWSAData: TWSAData;
   //optval: integer;
begin

     inherited Create(AOwner);
     FHandle := AllocateHWnd(ReadData);  //attention here.


     // 初始化SOCKET
     if WSAStartup($101, TempWSAData)=1 then
        showmessage('StartUp Error!');

     s := Socket(AF_INET, SOCK_DGRAM, 0);
     if (s = INVALID_SOCKET) then   //Socket創(chuàng)建失敗
     begin
          ShowMessage(inttostr(WSAGetLastError())+'  Socket創(chuàng)建失敗');
          CloseSocket(s);
     end;
     //本機(jī)SockAddr綁定
     addr.sin_family := AF_INET;
     addr.sin_addr.S_addr := INADDR_ANY;
     //addr.sin_port := htons(UDPPORT);
     if Bind(s, addr, sizeof(addr)) <> 0  then
       begin
         showmessage('bind fail');
       end;
     WSAAsyncSelect(s, FHandle , WM_SOCK, FD_READ);
     //對方SockAddrIn設(shè)定
     FSockAddrIn.SIn_Family := AF_INET;
     FSockAddrIn.SIn_Port := htons(NBTPORT);

     WAIT_ACK_EVENT:=CreateEvent(nil,true,false,pchar('WAIT_ACK'));
     //ResetEvent(WAIT_ACK_EVENT);
     wait_time:=100;

end;

destructor TNbt.Destroy;
begin

  CloseSocket(s);
  WSACleanup(); 
  DeallocateHWnd(FHandle);
  inherited Destroy; 

end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线播放| 国产精品久久久久久久久搜平片| 久久午夜羞羞影院免费观看| 日本成人在线网站| 欧美精品国产精品| 亚洲chinese男男1069| 欧美在线观看视频一区二区 | 国产精品一级黄| 欧美精品一区二区三区蜜桃| 麻豆精品新av中文字幕| 精品少妇一区二区三区在线播放| 日韩国产精品久久| 欧美一区二区三区影视| 人禽交欧美网站| 日韩一区二区三区免费看| 日日欢夜夜爽一区| 亚洲免费观看高清| 欧美专区日韩专区| 亚洲一区二区3| 91在线播放网址| 亚洲主播在线观看| 欧美男男青年gay1069videost | 亚洲精品一区二区三区影院| 久久99国产精品麻豆| 精品电影一区二区三区 | 久久久亚洲高清| 成人综合婷婷国产精品久久免费| 国产精品色哟哟网站| 91色.com| 美女视频黄 久久| 久久先锋影音av鲁色资源| 成人黄色在线视频| 亚洲精品国产视频| 欧美一区二区三区视频| 国产伦精品一区二区三区免费 | 成人少妇影院yyyy| 一区二区三区av电影| 91精品国产91久久久久久一区二区 | 精品成人私密视频| 不卡电影一区二区三区| 亚洲一级二级在线| 日韩欧美你懂的| 成人av一区二区三区| 亚洲午夜国产一区99re久久| 欧美va日韩va| 成人午夜短视频| 亚洲第一在线综合网站| 久久欧美中文字幕| 色综合天天做天天爱| 免费看日韩a级影片| 欧美激情在线一区二区| 欧美婷婷六月丁香综合色| 国内一区二区在线| 亚洲人成网站在线| 久久久久久免费网| 欧美日韩另类一区| 国产不卡视频一区二区三区| 91美女视频网站| 国内精品伊人久久久久av影院 | 另类小说综合欧美亚洲| 专区另类欧美日韩| 久久蜜桃香蕉精品一区二区三区| 国产成+人+日韩+欧美+亚洲| 亚洲va国产va欧美va观看| 国产精品久久福利| 日韩欧美激情在线| 欧美日韩在线直播| av一区二区三区四区| 九一久久久久久| 日韩激情视频在线观看| 亚洲欧美偷拍三级| 欧美一区二区在线看| 91久久精品一区二区二区| 国产精品一二三四区| 午夜久久久久久电影| 最近中文字幕一区二区三区| 国产日产亚洲精品系列| 精品欧美黑人一区二区三区| 在线区一区二视频| av爱爱亚洲一区| 国产精品一区久久久久| 久久成人久久爱| 丝袜美腿一区二区三区| 亚洲午夜一区二区| 亚洲精品视频一区二区| 国产精品视频一二三区| 欧美一区二区三区性视频| 精品视频999| 欧美三级一区二区| 欧美日韩综合一区| 欧美日韩成人综合| 欧美日韩国产一二三| 欧美日韩精品欧美日韩精品| av资源站一区| 色综合久久天天| 日本韩国欧美一区| 日本韩国一区二区三区| 色一区在线观看| 色婷婷av一区| 成人免费小视频| 久久午夜色播影院免费高清| 欧美不卡一区二区三区四区| 久久久久久久免费视频了| 久久久天堂av| 国产精品国产三级国产普通话99| 欧美国产精品一区二区三区| 国产精品久久久久久久久搜平片 | 国产精品婷婷午夜在线观看| 中文字幕欧美日韩一区| 国产精品免费av| 国产精品久久久久久久蜜臀| 久久免费电影网| 国产人成亚洲第一网站在线播放 | 国内精品自线一区二区三区视频| 久久精品久久精品| 国产麻豆欧美日韩一区| 成人免费看的视频| 91免费在线播放| 欧美撒尿777hd撒尿| 欧美精品高清视频| 欧美mv日韩mv国产| 久久久精品天堂| 亚洲你懂的在线视频| 午夜久久久影院| 韩国一区二区视频| 91网站黄www| 91精品国产综合久久精品app| 在线免费亚洲电影| 日韩三级视频在线看| 国产三级一区二区| 亚洲一区二区三区视频在线| 久久爱www久久做| 成人午夜免费电影| 欧美日韩一区二区三区不卡 | 91在线云播放| 日韩欧美在线123| 成人午夜激情片| 欧美一区二区黄色| 亚洲夂夂婷婷色拍ww47 | 亚洲精品久久久久久国产精华液| 国内精品自线一区二区三区视频| 欧美日韩一级视频| 日韩理论片中文av| 粉嫩在线一区二区三区视频| 日韩欧美亚洲另类制服综合在线| 一区二区在线观看免费| 成人午夜免费av| 国产日韩精品一区二区浪潮av| 日韩精品一二三| 欧美日韩亚洲综合在线 | 久久中文娱乐网| 石原莉奈一区二区三区在线观看| 91原创在线视频| 国产精品网站在线观看| 国产成人在线免费| 亚洲精品一区二区在线观看| 日韩国产欧美视频| 欧美顶级少妇做爰| 亚瑟在线精品视频| 精品视频免费在线| 亚洲超碰97人人做人人爱| 欧美艳星brazzers| 洋洋av久久久久久久一区| 91亚洲国产成人精品一区二三| 国产欧美精品一区二区色综合| 国产专区综合网| 国产亚洲精品aa| 国产丶欧美丶日本不卡视频| 久久久精品人体av艺术| 国产精品一区二区三区乱码| 久久久蜜臀国产一区二区| 国产精品综合av一区二区国产馆| 精品三级av在线| 国产一区二区伦理片| 国产日产欧产精品推荐色| 国产高清在线观看免费不卡| 久久免费精品国产久精品久久久久| 久久99国产精品尤物| 久久久精品日韩欧美| 不卡视频免费播放| 亚洲日本乱码在线观看| 在线精品视频小说1| 天天综合网 天天综合色| 91精品国产综合久久久久久| 久久99国产精品免费网站| 久久精品日产第一区二区三区高清版 | 亚洲国产乱码最新视频| 欧美精品在线视频| 精品中文字幕一区二区| 国产亚洲短视频| 色久综合一二码| 天堂资源在线中文精品| 欧美一级电影网站| 国产精品主播直播| 亚洲同性gay激情无套| 欧美系列亚洲系列| 国产自产高清不卡| 一区二区三区蜜桃| 日韩三级中文字幕| 99v久久综合狠狠综合久久|