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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cap_ip.pas

?? 捕獲ip數據包的小程序
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
   end;
  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;
 //設置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數據
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;

//協議識別程序
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));
//協議甄別
	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;
//計算IP首部的長度
	iIphLen :=sizeof(pIpheader);
//根據協議類型分別調用相應的函數
	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錯誤處理程序
function Tcap_ip.CheckSockError(iErrorCode:integer):boolean;	//出錯處理函數
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函數錯誤!');
          result:=false;
          exit;
         end;

   if FWSAStartup($201,GInitData)<>0 then
     begin
      raise ESocketException.Create('初始化SOCKET2函數失敗!');
      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.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡视频一二三四| 国产成人综合在线观看| 欧美韩国日本一区| 欧美精品一区二区三区蜜桃| 欧美福利视频导航| 欧美高清精品3d| 欧美久久久久免费| 欧美精品日韩综合在线| 欧美精品 日韩| 欧美一区二区三区在线观看视频 | 91精品福利在线| 波多野结衣一区二区三区| 成人av在线资源网站| caoporm超碰国产精品| av爱爱亚洲一区| 色哟哟精品一区| 欧美乱妇15p| 日韩你懂的在线观看| xvideos.蜜桃一区二区| 久久久久国产成人精品亚洲午夜| 精品福利二区三区| 国产精品视频第一区| 成人免费在线播放视频| 亚洲国产精品久久久男人的天堂 | 在线一区二区三区做爰视频网站| 色综合视频一区二区三区高清| 国产午夜精品一区二区三区视频| 亚洲大片在线观看| 麻豆精品在线播放| 成人免费看的视频| 色屁屁一区二区| 91麻豆精品国产91久久久更新时间| 欧美一区二区三区的| 久久婷婷一区二区三区| 亚洲欧洲精品一区二区三区 | 亚洲欧洲日韩在线| 亚洲第四色夜色| 国产乱子伦一区二区三区国色天香| 国产成人免费9x9x人网站视频| 久久精品视频免费观看| 中文字幕亚洲区| 日本麻豆一区二区三区视频| 国产成人精品亚洲午夜麻豆| 在线观看网站黄不卡| 精品国产伦一区二区三区免费| 国产精品国产三级国产| 日韩高清国产一区在线| eeuss国产一区二区三区| 欧美一区二区三区婷婷月色| 国产精品污污网站在线观看| 天天影视网天天综合色在线播放| 国产精品99久久久久久宅男| 91黄色在线观看| 国产女人aaa级久久久级| 性久久久久久久久久久久| gogogo免费视频观看亚洲一| 欧美一区二区三区四区在线观看| 亚洲视频中文字幕| 国产麻豆一精品一av一免费| 欧美日韩视频一区二区| 中文字幕一区二区不卡| 寂寞少妇一区二区三区| 欧美日韩精品欧美日韩精品 | 91精品国产色综合久久ai换脸| 国产精品盗摄一区二区三区| 精品一区二区在线视频| 欧美精品第一页| 亚洲乱码国产乱码精品精可以看 | 国产成人免费视| 欧美一级日韩免费不卡| 一二三四社区欧美黄| 成人av免费网站| 久久精品视频一区| 国产中文字幕精品| 欧美大片在线观看| 日本女人一区二区三区| 欧美天天综合网| 一区二区三区四区国产精品| 99精品欧美一区二区三区小说| 久久久精品人体av艺术| 国内不卡的二区三区中文字幕 | 欧美一区二区三区男人的天堂| 伊人婷婷欧美激情| 97se亚洲国产综合自在线| 国产精品久久久久aaaa| 成人午夜免费电影| 国产精品色呦呦| 成人av综合在线| 亚洲欧洲日产国产综合网| 99久久精品国产导航| 亚洲人123区| 欧美视频在线一区二区三区| 亚洲成人一区二区在线观看| 制服丝袜亚洲色图| 美日韩一级片在线观看| 国产日韩一级二级三级| 成人午夜电影网站| 亚洲靠逼com| 欧美精品777| 国产又黄又大久久| 国产精品区一区二区三| 在线视频你懂得一区| 婷婷激情综合网| 久久综合久久99| 99在线精品观看| 日日夜夜精品视频免费| 欧美精品一区二区三区视频| 99这里都是精品| 五月激情综合网| 久久久国产一区二区三区四区小说| 欧美色图在线观看| 久久精品国产99| 自拍av一区二区三区| 欧美另类一区二区三区| 国产一本一道久久香蕉| 一区二区三区四区亚洲| 日韩女优视频免费观看| 91网站视频在线观看| 免播放器亚洲一区| 亚洲特黄一级片| 欧美电影精品一区二区| 色域天天综合网| 精品中文字幕一区二区| 中文字幕一区二区三区色视频| 正在播放亚洲一区| k8久久久一区二区三区| 精品综合免费视频观看| 亚洲一区在线看| 欧美激情一区二区三区| 91.xcao| 91同城在线观看| 国产精品一品二品| 天天综合日日夜夜精品| 亚洲欧美电影院| 久久网这里都是精品| 欧美精品乱人伦久久久久久| av电影天堂一区二区在线| 久久66热偷产精品| 婷婷综合另类小说色区| 亚洲人成影院在线观看| 日本一区二区三区四区在线视频| 欧美精品久久一区| 色综合天天性综合| 91麻豆成人久久精品二区三区| 美女www一区二区| 亚洲v日本v欧美v久久精品| 国产精品色呦呦| 国产欧美日韩精品在线| 精品成人一区二区| 91精品国产黑色紧身裤美女| 精品视频在线视频| 欧美做爰猛烈大尺度电影无法无天| 国产91精品一区二区| 狠狠网亚洲精品| 蜜桃av一区二区三区| 免费观看日韩av| 老汉av免费一区二区三区| 水野朝阳av一区二区三区| 亚洲成人av电影在线| 有码一区二区三区| 亚洲一区二区偷拍精品| 亚洲激情在线播放| 亚洲综合自拍偷拍| 一区二区三区色| 依依成人综合视频| 亚洲一区二区三区美女| 亚洲在线观看免费视频| 午夜精品久久久久久久久久久 | 美洲天堂一区二卡三卡四卡视频| 性感美女久久精品| 秋霞国产午夜精品免费视频| 热久久免费视频| 九色porny丨国产精品| 国产乱一区二区| gogogo免费视频观看亚洲一| 色婷婷亚洲精品| 欧美日本一区二区三区四区 | 日韩综合一区二区| 美美哒免费高清在线观看视频一区二区| 免播放器亚洲一区| 国模一区二区三区白浆| av在线播放不卡| 欧美日本免费一区二区三区| 欧美成人精品福利| 国产日韩欧美高清| 亚洲视频精选在线| 午夜精品一区二区三区免费视频| 三级亚洲高清视频| 国产很黄免费观看久久| av在线不卡电影| 51久久夜色精品国产麻豆| www国产亚洲精品久久麻豆| 中文字幕精品在线不卡| 亚洲高清久久久| 国内偷窥港台综合视频在线播放| 不卡电影一区二区三区| 欧美男人的天堂一二区| 欧美国产日韩亚洲一区| 午夜国产精品一区| 成人丝袜视频网|