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

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

?? cap_ip.pas

?? 查詢局域網(wǎng)IP STATUS_FAILED =$FFFF //定義異常出錯(cuò)代碼 MAX_PACK_LEN =65535 //接收的最大IP報(bào)文
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
  pPtr := PaPInAddr(phe^.h_addr_list);
  I := 0;
  while (pPtr^[I] <> nil) and (i<20) do
   begin
    FActiveIP[I]:=inet_ntoa(pptr^[I]^);
    Inc(I);
   end;
  setlength(FActiveIP,i);
end;

procedure Tcap_ip.set_socket_state;
var
  i,iErrorCode:integer;
  sa: tSockAddrIn;
  dwBufferLen:array[0..10]of DWORD;
  dwBufferInLen:DWORD;
  dwBytesReturned:DWORD;
begin
   if high(FActiveIP)=-1 then exit;
   setlength(Fsocket,high(FActiveIP)+1);
   for i:=0 to high(FActiveIP) do
     begin
       Fsocket[i]:= socket(AF_INET , SOCK_RAW , IPPROTO_IP);
       sa.sin_family:= AF_INET;
       sa.sin_port := htons(i);
       sa.sin_addr.S_addr:=Inet_addr(pchar(FActiveIP[i]));
       iErrorCode := bind(Fsocket[i],sa, sizeof(sa));
       CheckSockError(iErrorCode);

       dwBufferInLen := 1 ;
       dwBytesReturned:=0;
 //設(shè)置Fsocket為SIO_RCVALL接收所有的IP包
       iErrorCode:=FWSAIoctl(Fsocket[i], SIO_RCVALL,@dwBufferInLen, sizeof(dwBufferInLen),
                        @dwBufferLen, sizeof(dwBufferLen),@dwBytesReturned ,nil ,nil);

	CheckSockError(iErrorCode);
        iErrorCode:=WSAAsyncSelect(Fsocket[i],FWindowHandle,WM_CapIp+i,FD_READ or FD_CLOSE);
	CheckSockError(iErrorCode);
     end;
end;

//讀IP數(shù)據(jù)
procedure Tcap_ip.cap_ip(socket_no:integer);
var
  iErrorCode:integer;
  RecvBuf:array[0..MAX_PACK_LEN] of char;
begin
     fillchar(RecvBuf,sizeof(RecvBuf),0);
     iErrorCode := frecv(Fsocket[socket_no], RecvBuf, sizeof(RecvBuf), 0);
     CheckSockError(iErrorCode);
    if not Fpause then
     begin
     iErrorCode := DecodeIpPack(FActiveIP[socket_no],RecvBuf, iErrorCode);
     CheckSockError(iErrorCode);
     end;
end;

//協(xié)議識(shí)別程序
function Tcap_ip.CheckProtocol(iProtocol:integer):string;
var
 i:integer;
begin
  result:='';
   case iProtocol of
     IPPROTO_IP   :result:='IP';
     IPPROTO_ICMP :result:='ICMP';
     IPPROTO_IGMP :result:='IGMP';
     IPPROTO_GGP  :result:='GGP';
     IPPROTO_TCP  :result:='TCP';
     IPPROTO_PUP  :result:='PUP';
     IPPROTO_UDP  :result:='UDP';
     IPPROTO_IDP  :result:='IDP';
     IPPROTO_ND   :result:='NP';
     IPPROTO_RAW  :result:='RAW';
     IPPROTO_MAX  :result:='MAX';
    else          result:='';
   end;
end;


//IP解包程序
function Tcap_ip.DecodeIpPack(ip:string;buf:pchar;iBufSize:integer):integer;
var
  SourcePort,DestPort:word;
  iProtocol, iTTL:integer;
  szProtocol :array[0..MAX_PROTO_TEXT_LEN] of char;
  szSourceIP :array[0..MAX_ADDR_LEN] of char;
  szDestIP   :array[0..MAX_ADDR_LEN] of char;

  pIpheader:IP_HEADER;
  pTcpHeader:TCP_HEADER;
  pUdpHeader:UDP_HEADER;
  pIcmpHeader:ICMP_HEADER;
  saSource, saDest:TSockAddrIn;
  iIphLen,data_size:integer;
  TcpHeaderLen:integer;
  TcpData:pchar;
begin
        result:=0;
        CopyMemory(@pIpheader,buf,sizeof(pIpheader));
//協(xié)議甄別
	iProtocol := pIpheader.proto;
	StrLCopy(szProtocol, pchar(CheckProtocol(iProtocol)),15);

//源地址
	saSource.sin_addr.s_addr := pIpheader.sourceIP;
	strlcopy(szSourceIP, inet_ntoa(saSource.sin_addr), MAX_ADDR_LEN);
//目的地址
	saDest.sin_addr.s_addr := pIpheader.destIP;
	strLcopy(szDestIP, inet_ntoa(saDest.sin_addr), MAX_ADDR_LEN);
	iTTL := pIpheader.ttl;
//計(jì)算IP首部的長(zhǎng)度
	iIphLen :=sizeof(pIpheader);
//根據(jù)協(xié)議類型分別調(diào)用相應(yīng)的函數(shù)
	case iProtocol of
           IPPROTO_TCP	:begin
                          CopyMemory(@pTcpHeader,buf+iIphLen,sizeof(pTcpHeader));
                          SourcePort := ntohs(pTcpHeader.TCP_Sport);//源端口
                          DestPort := ntohs(pTcpHeader.TCP_Dport);  //目的端口
                          TcpData:=buf+iIphLen+sizeof(pTcpHeader);
                          data_size:=iBufSize-iIphLen-sizeof(pTcpHeader);
                         end;
	   IPPROTO_UDP	:begin
                          CopyMemory(@pUdpHeader,buf+iIphLen,sizeof(pUdpHeader));
                          SourcePort := ntohs(pUdpHeader.uh_sport);//源端口
                          DestPort := ntohs(pUdpHeader.uh_dport);  //目的端口
                          TcpData:=buf+iIphLen+sizeof(pUdpHeader);
                          data_size:=iBufSize-iIphLen-sizeof(pUdpHeader);
                         end;
	   IPPROTO_ICMP	:begin
                          CopyMemory(@pIcmpHeader,buf+iIphLen,sizeof(pIcmpHeader));
                          SourcePort := pIcmpHeader.i_type;//類型
                          DestPort := pIcmpHeader.i_code;  //代碼
                          TcpData:=buf+iIphLen+sizeof(pIcmpHeader);
                          data_size:=iBufSize-iIphLen-sizeof(pIcmpHeader);
                         end;
	   else begin
                    SourcePort :=0;
                    DestPort := 0;  //代碼
                    TcpData:=buf+iIphLen;
                    data_size:=iBufSize-iIphLen;
                end;
	end;

  if Assigned(FOnCap) then
   FOnCap(ip,szProtocol,szSourceIP,szDestIP,inttostr(SourcePort),inttostr(DestPort)
          ,buf,iBufSize-data_size,TcpData,data_size);
end;

//SOCK錯(cuò)誤處理程序
function Tcap_ip.CheckSockError(iErrorCode:integer):boolean;	//出錯(cuò)處理函數(shù)
begin
    if(iErrorCode=SOCKET_ERROR) then
     begin
       if Assigned(FOnError) then FOnError(inttostr(GetLastError)+SysErrorMessage(GetLastError));
       result:=true;
     end else result:=false;
end;

procedure Tcap_ip.WndProc(var MsgRec: TMessage);
begin
    with MsgRec do
     if (Msg >=WM_CapIp) and (Msg <= WM_CapIp+high(FActiveIP)) then
         cap_ip(msg-WM_CapIp)
       else
       Result := DefWindowProc(Handle, Msg, wParam, lParam);

end;

constructor Tcap_ip.Create(Owner : TComponent);
begin
    Inherited Create(Owner);
    Fpause:=false;
    Finitsocket:=false;
    setlength(Fsocket,0);

    FWindowHandle := XSocketAllocateHWnd(Self);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
destructor Tcap_ip.Destroy;
var i:integer;
begin
   for i:=0 to high(Fsocket) do FCloseSocket(Fsocket[i]);
   if self.Finitsocket then
     begin
       FWSACleanup;
      if Fhand_dll <> 0 then FreeLibrary(Fhand_dll);
     end; 
    inherited Destroy;
end;

function  Tcap_ip.init_socket:boolean;//初始化
var
 GInitData:TWSAData;
begin
    result:=true;
    IF Finitsocket then exit;
    Fhand_dll := LoadLibrary('ws2_32.dll');
    if Fhand_dll = 0 then
      begin
        raise ESocketException.Create('Unable to register ws2_32.dll');
        result:=false;
        exit;
      end;
    @FWSAStartup  := GetProcAddress(Fhand_dll, 'WSAStartup');

    @FOpenSocket :=  GetProcAddress(Fhand_dll, 'socket');
    @FInet_addr :=   GetProcAddress(Fhand_dll, 'inet_addr');
    @Fhtons  :=      GetProcAddress(Fhand_dll, 'htons');
    @FConnect :=     GetProcAddress(Fhand_dll, 'connect');
    @FCloseSocket := GetProcAddress(Fhand_dll, 'closesocket');
    @Fsend        := GetProcAddress(Fhand_dll, 'send');
    @FWSAIoctl := GetProcAddress(Fhand_dll, 'WSAIoctl');
    @Frecv        := GetProcAddress(Fhand_dll, 'recv');
    @FWSACleanup  := GetProcAddress(Fhand_dll, 'WSACleanup');
    @FWSAAsyncSelect:=GetProcAddress(Fhand_dll, 'WSAAsyncSelect');
    if (@FWSAStartup =nil) or(@Fhtons =nil) or (@FConnect =nil) or (@Fsend =nil) or (@FWSACleanup=nil) or
       (@FOpenSocket =nil) or (@FInet_addr =nil)or (@FCloseSocket =nil) or (@recv=nil)or (@FWSAIoctl=nil)
       or (@FWSAAsyncSelect=nil) then
         begin
          raise ESocketException.Create('加載dll函數(shù)錯(cuò)誤!');
          result:=false;
          exit;
         end;

   if FWSAStartup($201,GInitData)<>0 then
     begin
      raise ESocketException.Create('初始化SOCKET2函數(shù)失敗!');
      result:=false;
      exit;
     end;
  Finitsocket:=true;
end;
procedure  Tcap_ip.StartCap;
begin
 if not Finitsocket then
    if not init_socket then exit;
   get_ActiveIP;
   set_socket_state;
end;
procedure  Tcap_ip.pause;
begin
  if Finitsocket and (high(Fsocket)>-1) then
    Fpause:=not Fpause;
end;

procedure  Tcap_ip.StopCap;
var i:integer;
begin
   for i:=0 to high(Fsocket) do FCloseSocket(Fsocket[i]);
end;

procedure Register;
begin
    RegisterComponents('Standard', [Tcap_ip]);
end;

end.


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
北条麻妃国产九九精品视频| 精品国产免费人成电影在线观看四季| 国产传媒欧美日韩成人| 免费观看久久久4p| 日韩av电影一区| 日韩av在线发布| 日韩电影一区二区三区四区| 偷窥少妇高潮呻吟av久久免费| 一个色妞综合视频在线观看| 亚洲综合久久久久| 亚洲成a人片综合在线| 午夜精品一区二区三区电影天堂| 亚洲在线成人精品| 日本成人在线视频网站| 免费亚洲电影在线| 国产伦精品一区二区三区免费| 国产老肥熟一区二区三区| 成人午夜免费av| 91美女视频网站| 欧美丰满少妇xxxxx高潮对白| 欧美一区二区不卡视频| 国产亚洲欧美色| 成人免费一区二区三区视频 | 欧美二区乱c少妇| 日韩欧美色综合| 日本一区二区三区高清不卡| 一级做a爱片久久| 奇米精品一区二区三区在线观看一| 经典三级视频一区| eeuss鲁一区二区三区| 欧美日韩精品是欧美日韩精品| 日韩欧美国产一区二区三区| 国产精品免费av| 天天免费综合色| 国产精品一卡二| 在线观看一区日韩| 久久蜜臀精品av| 亚洲欧美日韩在线播放| 国产盗摄一区二区| 一本久久精品一区二区| 欧美精选在线播放| 国产精品美女久久久久久2018| 亚洲成av人片一区二区梦乃 | 69堂成人精品免费视频| 久久综合九色综合欧美就去吻| 亚洲精品视频观看| 国产一区二区三区免费观看| 欧美三区在线观看| 亚洲欧洲精品成人久久奇米网| 无码av免费一区二区三区试看| 成人av电影在线播放| 日韩欧美一二区| 午夜成人免费电影| 一本大道av一区二区在线播放| 国产色婷婷亚洲99精品小说| 天天色综合成人网| 在线观看免费成人| 国产精品系列在线| 午夜精品福利一区二区蜜股av| 国产精品一二三四五| 精品视频在线免费看| 国产精品国产馆在线真实露脸 | 久久久久久影视| 午夜久久久久久电影| 91猫先生在线| 亚洲欧洲日韩在线| 成人亚洲一区二区一| 2023国产精华国产精品| 日本成人在线网站| 欧美一区二区三区白人| 日韩欧美成人一区| 一区二区三区精品| 一本色道久久综合亚洲aⅴ蜜桃| 国产亚洲精久久久久久| 久久精品国产成人一区二区三区| 欧美人xxxx| 视频一区二区三区中文字幕| 欧美日韩国产高清一区| 丝袜脚交一区二区| 911精品产国品一二三产区| 天天综合天天做天天综合| 欧美午夜精品一区二区蜜桃| 亚洲妇熟xx妇色黄| 欧美裸体bbwbbwbbw| 日韩电影在线一区二区| 精品国产成人在线影院| 国产成人精品网址| 亚洲欧洲www| 在线一区二区三区做爰视频网站| 一区二区三区四区视频精品免费| 欧美手机在线视频| 日日欢夜夜爽一区| 精品国产一区久久| 一区二区三区成人| 国产一区二区三区不卡在线观看 | 日韩有码一区二区三区| 在线播放中文一区| 看电视剧不卡顿的网站| 久久精品欧美一区二区三区不卡 | 成人h精品动漫一区二区三区| 欧美国产丝袜视频| 99国产精品久| 日韩在线卡一卡二| 国产日韩精品一区| 欧美中文字幕亚洲一区二区va在线| 亚洲小说春色综合另类电影| 欧美成人一区二区三区片免费 | 成人免费视频国产在线观看| 亚洲伦理在线免费看| 在线播放日韩导航| 国产一区二区三区四区五区入口 | 亚洲国产成人高清精品| 精品免费一区二区三区| 91免费看片在线观看| 奇米色一区二区| 亚洲精品国久久99热| 精品粉嫩aⅴ一区二区三区四区| 9久草视频在线视频精品| 日韩高清在线观看| 国产精品人妖ts系列视频| 911国产精品| 99久久婷婷国产精品综合| 麻豆国产一区二区| 亚洲精选一二三| 国产亚洲成年网址在线观看| 欧美挠脚心视频网站| 91热门视频在线观看| 国产在线观看一区二区| 日日夜夜免费精品视频| 亚洲人成在线观看一区二区| 久久久久久久网| 91精品午夜视频| 欧美在线999| 91网站最新地址| 成人久久视频在线观看| 韩国av一区二区三区在线观看| 亚洲国产aⅴ成人精品无吗| 国产精品网站导航| 国产午夜精品在线观看| 欧美mv日韩mv国产网站| 欧美一区二区日韩一区二区| 欧洲激情一区二区| 一本色道久久综合精品竹菊| 不卡的av在线播放| 懂色av一区二区三区免费看| 国产在线乱码一区二区三区| 日本不卡的三区四区五区| 午夜精品久久一牛影视| 成人午夜av电影| 美女www一区二区| 亚洲精品成人a在线观看| 久久精品一区八戒影视| 日韩免费一区二区| 欧美成人精品高清在线播放 | ...xxx性欧美| 国产精品拍天天在线| 欧美高清在线视频| 国产精品电影院| 亚洲欧美成aⅴ人在线观看| 亚洲色图欧洲色图| 一区二区三区精品视频在线| 亚洲乱码国产乱码精品精可以看 | 99精品国产91久久久久久| 日本91福利区| 日韩不卡一区二区| 美女mm1313爽爽久久久蜜臀| 日本三级亚洲精品| 久久国产尿小便嘘嘘尿| 国产乱码精品一品二品| 国产成人av在线影院| 成人精品亚洲人成在线| 亚洲国产中文字幕| 亚洲天堂精品在线观看| 国产精品久久久久久久久果冻传媒 | 欧美一二三四在线| 日韩欧美成人激情| 国产亚洲精品7777| 亚洲激情五月婷婷| 奇米四色…亚洲| 精品一区二区三区在线观看国产| 国产成人自拍在线| 色综合天天综合网天天狠天天| 欧美日韩一区二区在线视频| 欧美一区2区视频在线观看| 国产亚洲成aⅴ人片在线观看| 亚洲三级电影全部在线观看高清| 亚洲国产精品久久久久秋霞影院| 精品一区二区影视| 色噜噜久久综合| 精品久久人人做人人爰| 136国产福利精品导航| 久久国产麻豆精品| 麻豆国产精品一区二区三区 | 91蝌蚪porny九色| 欧美日韩aaaaaa| 国产精品每日更新在线播放网址| 亚洲国产综合色| 成人免费观看视频| 日韩一区二区视频| 亚洲免费观看高清完整版在线|