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

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

?? ingusclass.pas

?? 可探索指定IP地址段內(nèi)的所有OICQ用戶號碼
?? PAS
字號:
{
  IngusClass.Pas - Packet32 Helper
  ----------------------------------
  Writen by: Jagad (don@indo.net.id)
  Updates by FP (francois.piette@pophost.eunet.be, http://www.rtfm.be/fpiette)
  May 12, 1999  FP  Added UDP Support
                    Changed TIngusSnifferThread.MacAddr property to PChar to be
                    consistent with TIngusPacketBase.MacAddr property.
                    Existing code may need to be changed.
}
unit Ingusclass;

interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
     Packet32, Protohdr;

const
  MAX_ADAPTER_COUNT = 5;

type
  TIngusPacketBase = class;
  TPacketDirection = (pdOutput, pdInput, pdPassThrough);
  TParsePacketEvent = procedure( nPacketSeq: Longint;
                                 uBuffer: PChar;
                                 nRecvBytes: integer;
                                 sPacket: TIngusPacketBase ) of object;

  TIngusPacketBase = class(TObject)
  private
    FMacAddr: PChar;
    FBuffer: PChar;
    FEthernetHdr: PETHERNET_HDR;
    FPacketDirection: TPacketDirection;
    FProtocol: Integer;
    FData: PChar;

  protected
  public
    constructor Create(MacAddr: PChar; uBuffer: PChar); virtual;
    destructor Destroy; override;

    property EthernetProtocol: integer read FProtocol;
    property PacketDirection: TPacketDirection read FPacketDirection;
    property EthernetHeader: PETHERNET_HDR read FEthernetHdr;
    property EthernetData: PChar read FData;

  end;

  TIngusSnifferThread = class(TThread)
  private
    FMacAddr: PChar;  // FPiette May 12, 1999
    FpAdapter: LPADAPTER;
    FpPacket: LPPACKET;
    FdwRxBytes: DWORD;
    FRxPacketSeq: Longint;
    FParsePacketEvent: TParsePacketEvent;

  protected
  public
    constructor Create; virtual;
    destructor Destroy; override;

    procedure Execute; override;
    procedure SyncParseEvent;

    property MacAddr: PChar read FMacAddr write FMacAddr;
    property Adapter: LPADAPTER read FpAdapter write FpAdapter;
    property Packet: LPPACKET read FpPacket write FpPacket;
    property OnParsePacket: TParsePacketEvent read FParsePacketEvent write FParsePacketEvent;

  end;


  TAfterGetAdapterDesc = procedure(bStatus: Boolean; sAdapterDesc: string) of object;
  TAfterGetMacAddress = procedure(bStatus: Boolean; pMacAddr: PChar) of object;
  TAfterSetFilter = procedure(bStatus: Boolean; uFilter: ULONG) of object;

  TIngusSniffer = class(TObject)
  private
    //FuBuffer: array[0..1520] of Char;
    FuMac: array[0..5] of UCHAR;
    FAdapterDescs: array[0..MAX_ADAPTER_COUNT-1] of ADAPTER_DESC;
    FAdapterNames: TStringList;
    FAdapterCount: integer;
    FpPacket: LPPACKET;
    FhAdapter: DWORD;
    FbStartSnoop: Boolean;
    FParsePacketEvent: TParsePacketEvent;
    FIngusThread: TIngusSnifferThread;

    FAfterGetAdapterDesc: TAfterGetAdapterDesc;
    FAfterGetMacAddress: TAfterGetMacAddress;
    FAfterSetFilter: TAfterSetFilter;

  protected
    procedure GetAdapterNameList;
    function GetMacAddr: PChar;        // FP 12/05/99

  public
    constructor Create; virtual;
    destructor Destroy; override;

    //zero-based index
    function StartSnoop(nAdapterIndex: integer): Boolean;
    procedure StopSnoop;

    property MacAddr: PChar read GetMacAddr;         // FP 12/05/99
    property AdapterNameList: TStringList read FAdapterNames;
    property AdapterCount: integer read FAdapterCount;
    property OnParsePacket: TParsePacketEvent read FParsePacketEvent
                                              write FParsePacketEvent;
    property OnAfterGetAdapterDesc: TAfterGetAdapterDesc read FAfterGetAdapterDesc
                                                         write FAfterGetAdapterDesc;
    property OnAfterGetMacAddress: TAfterGetMacAddress read FAfterGetMacAddress
                                                       write FAfterGetMacAddress;
    property OnAfterSetFilter: TAfterSetFilter read FAfterSetFilter
                                                 write FAfterSetFilter;

  end;

var
   FuBuffer: array[0..1520] of Char;

implementation
uses IngusPacket;

//----- TIngusPacketBase ------//
constructor TIngusPacketBase.Create(MacAddr: PChar; uBuffer: PChar);
begin
  inherited Create;
  FMacAddr := MacAddr;
  FBuffer := uBuffer;
  FEthernetHdr := PETHERNET_HDR(FBuffer);
  FProtocol := TOUSHORT(@(FEthernetHdr^.Protocol[0]));
  FData := @(FEthernetHdr^.Data[0]);

  //Packet Direction
  FPacketDirection := pdPassThrough;
  if CompareMem(FMacAddr, @(FEthernetHdr^.Destination[0]), 6) then begin
    //Input
    FPacketDirection := pdInput;
  end
  else if CompareMem(FMacAddr, @(FEthernetHdr^.Source[0]), 6) then begin
    //Output
    FPacketDirection := pdOutput;
  end;
end;

destructor TIngusPacketBase.Destroy;
begin
  //...
  inherited Destroy;
end;

//----- TIngusSnifferThread ------//
constructor TIngusSnifferThread.Create;
begin
  //Initiate vars
  FpAdapter := nil;
  FpPacket := nil;

  inherited Create(True);
end;

destructor TIngusSnifferThread.Destroy;
begin
  //...
  inherited Destroy;
end;

procedure TIngusSnifferThread.Execute;
begin
  if (FpAdapter = nil)or(FpPacket = nil) then exit;

  FRxPacketSeq := 0;
  while (not Terminated) do begin
    PacketReceivePacket(FpAdapter, FpPacket, TRUE, @FdwRxBytes);
    if (not Terminated) then
      Synchronize(SyncParseEvent);

    Inc(FRxPacketSeq);
  end;
end;

procedure TIngusSnifferThread.SyncParseEvent;
var
  sPacket: TIngusPacketBase;
  pEthernetHdr: PETHERNET_HDR;
  pIPHeader: PIP_RHDR;
  nProto, nIPProto: integer;
begin
  if (FpPacket = nil) then exit;

  pEthernetHdr := PETHERNET_HDR(@(FpPacket^.Buffer[0]));
  nProto := TOUSHORT(@(pEthernetHdr^.Protocol[0]));

  case nProto of
  //IP
  PROTO_IP: begin
              pIPHeader := PIP_RHDR(@(pEthernetHdr^.Data[0]));
              nIPProto := pIPHeader^.Protocol;

              case nIPProto of
              //ICMP
              1: sPacket := TIngusICMPPacket.Create( FMacAddr, @(FpPacket^.Buffer[0]) );
              //TCP
              6: sPacket := TIngusTCPPacket.Create(FMacAddr, @(FpPacket^.Buffer[0]));
              //UDP
              17: sPacket := TIngusUDPPacket.Create(FMacAddr, @(FpPacket^.Buffer[0]));
              else
                sPacket := TIngusIPPacket.Create(FMacAddr, @(FpPacket^.Buffer[0]));
              end;
            end;
  else
    sPacket := TIngusPacketBase.Create( FMacAddr, @(FpPacket^.Buffer[0]) );
  end;

  //Call Event handler
  if Assigned(FParsePacketEvent) then
    FParsePacketEvent( FRxPacketSeq, @(FpPacket^.Buffer[0]), FdwRxBytes, sPacket );
  sPacket.Free;

end;

//----- TIngusSniffer ------//
procedure TIngusSniffer.GetAdapterNameList;
var
  i: integer;
begin
  //Get Adapter names
  if (PacketGetAdapterNames(@FAdapterDescs[0], MAX_ADAPTER_COUNT, @FAdapterCount) = FALSE) then
  begin
    //Error....
    exit;
  end;

  for i := 0 to FAdapterCount-1 do begin
    FAdapterNames.Add(StrPas(FAdapterDescs[i].szAdapterDesc));
  end;
end;

function TIngusSniffer.GetMacAddr: PChar;
begin
  Result := @FuMac;  // FP 12/05/99
end;

constructor TIngusSniffer.Create;
begin
  inherited Create;

  FAdapterNames := TStringList.Create;
  //Get Adapter Names
  GetAdapterNameList;
  FbStartSnoop := FALSE;
end;

destructor TIngusSniffer.Destroy;
begin
  if FbStartSnoop then StopSnoop; //Avoid Blue-Screen :)
  FAdapterNames.Free;

  inherited Destroy;
end;

function TIngusSniffer.StartSnoop(nAdapterIndex: integer): Boolean;
var
  i: integer;
begin
  Result := False;
  if (FbStartSnoop) then exit;
  if (nAdapterIndex >= FAdapterCount) then exit;

  //Open Adapter
  FhAdapter := PacketOpenAdapter(FAdapterDescs[nAdapterIndex].szAdapterName);
  if (FhAdapter = 0) then begin
    //Error in open adapter...
    exit;
  end;

  //Get Adapter Description
  if (PacketAdapterDesc(LPADAPTER(FhAdapter), @FuBuffer[0], sizeof(FuBuffer), @i) = TRUE) then
  begin
    if Assigned(FAfterGetAdapterDesc) then
      FAfterGetAdapterDesc(TRUE, StrPas(@FuBuffer[0]));
  end
  else begin
    //Error
    if Assigned(FAfterGetAdapterDesc) then
      FAfterGetAdapterDesc(FALSE, '');
  end;

  //Get Current Mac Address
  if (PacketGetAddress(LPADAPTER(FhAdapter), @FuMac[0], 6, @i) = TRUE) then
  begin
    if Assigned(FAfterGetMacAddress) then
      FAfterGetMacAddress(TRUE, @FuMac[0]);
  end
  else begin
    //Error
    if Assigned(FAfterGetMacAddress) then
      FAfterGetMacAddress(FALSE, nil);
  end;

  //Select Filter mode
  if (PacketSetFilter(LPADAPTER(FhAdapter), NDIS_PACKET_TYPE_PROMISCUOUS) = TRUE) then
  begin
    if Assigned(FAfterSetFilter) then
      FAfterSetFilter(TRUE, NDIS_PACKET_TYPE_PROMISCUOUS);
  end
  else begin
    //Error
    if Assigned(FAfterSetFilter) then
      FAfterSetFilter(FALSE, NDIS_PACKET_TYPE_PROMISCUOUS);
  end;

  //Allocate Packet
  FpPacket := LPPACKET( PacketAllocatePacket(LPADAPTER(FhAdapter)) );
  if (FpPacket = Nil) then begin
    //Error...
    PacketCloseAdapter(LPADAPTER(FhAdapter));
    exit;
  end;

  //set the packet's buffer and its max. length
	PacketInitPacket(FpPacket, @FuBuffer[0], 1520);
  FbStartSnoop := TRUE;

  //Create Thread
  FIngusThread := TIngusSnifferThread.Create; //Create Suspended Thread
  FIngusThread.MacAddr := @FuMac[0];
  FIngusThread.Adapter := LPADAPTER(FhAdapter);
  FIngusThread.Packet := FpPacket;
  FIngusThread.OnParsePacket := FParsePacketEvent;
  FIngusThread.Resume; //Resume thread -> Execute

  Result := TRUE;
end;

procedure TIngusSniffer.StopSnoop;
begin
  if not FbStartSnoop then exit;
  FIngusThread.Terminate;

  //close the underlying adapter
	PacketCloseAdapter(LPADAPTER(FhAdapter));
    //free packet
	PacketFreePacket(FpPacket);
  FbStartSnoop := FALSE;

  FIngusThread.Free;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品中文在线影院| 欧美电影免费观看高清完整版在线| 五月天一区二区三区| 国产精品三级视频| 国产亚洲成年网址在线观看| 欧美成人r级一区二区三区| 欧美性大战久久久| 91网站视频在线观看| 成人视屏免费看| 韩国av一区二区三区四区| 蜜桃av噜噜一区二区三区小说| 欧美日韩高清一区二区不卡 | 亚洲精品菠萝久久久久久久| 久久久www免费人成精品| 精品国产1区二区| 国产日韩欧美高清| 中文字幕一区二区三区四区不卡| 欧美日本一道本| 91精品欧美久久久久久动漫 | 香蕉久久夜色精品国产使用方法| 91丨九色丨黑人外教| eeuss鲁片一区二区三区在线看| 一区二区三区中文字幕精品精品 | 欧美喷潮久久久xxxxx| 欧美日韩精品免费观看视频| 欧美午夜精品一区二区蜜桃| 91精品国产综合久久精品麻豆| 日本怡春院一区二区| 亚洲第一二三四区| 日本成人在线网站| 丁香婷婷综合激情五月色| 99re亚洲国产精品| 欧美日韩中文一区| 久久久精品免费网站| 日韩毛片视频在线看| 日韩福利视频导航| www.激情成人| 欧美日本乱大交xxxxx| 久久五月婷婷丁香社区| 亚洲裸体xxx| 国产一区在线视频| 欧美性生交片4| 久久久久久久久久久99999| 亚洲主播在线播放| 国产在线精品不卡| 欧美三级三级三级| 国产精品毛片高清在线完整版| 欧美一区二区福利视频| 成人欧美一区二区三区小说| 免费日本视频一区| 色999日韩国产欧美一区二区| 国产一区二区三区在线观看免费视频| 亚洲女与黑人做爰| 国产在线乱码一区二区三区| 欧美性色综合网| 中文幕一区二区三区久久蜜桃| 精品国产免费久久| 亚洲1区2区3区4区| 99久久夜色精品国产网站| 日韩欧美在线影院| 亚洲激情图片小说视频| 国产黄人亚洲片| 2023国产一二三区日本精品2022| 精品少妇一区二区三区在线播放 | 3atv在线一区二区三区| 亚洲视频免费在线观看| 国产传媒日韩欧美成人| 日韩欧美一区电影| 亚洲成人你懂的| 日本韩国一区二区三区视频| 国产精品久久久久天堂| 国产成人av在线影院| 日韩女同互慰一区二区| 日韩福利电影在线| 91精品国产综合久久久久| 五月天丁香久久| 91麻豆精品国产91久久久更新时间 | 欧美日本韩国一区| 亚洲日本在线天堂| 91丨九色丨尤物| 夜夜揉揉日日人人青青一国产精品 | 国产精品天干天干在观线| 精品一二三四区| 欧美日本在线观看| 天堂蜜桃91精品| 日韩手机在线导航| 另类的小说在线视频另类成人小视频在线 | 国产精品国产自产拍高清av| 成人综合婷婷国产精品久久 | 欧美日韩你懂的| 亚洲国产裸拍裸体视频在线观看乱了 | aaa欧美色吧激情视频| 国产欧美一区二区精品性色| 粉嫩久久99精品久久久久久夜| 91视频在线观看| 亚洲国产一二三| 欧美老肥妇做.爰bbww| 免费在线观看一区| 久久久欧美精品sm网站| www.av精品| 亚洲va欧美va人人爽午夜| 日韩一区二区中文字幕| 久久99国产精品久久99| 国产精品污www在线观看| 欧美午夜片在线看| 国模一区二区三区白浆| 亚洲视频在线观看一区| 欧美三级乱人伦电影| 乱一区二区av| 亚洲免费视频成人| 欧美一区二区免费观在线| 盗摄精品av一区二区三区| 亚洲精品国产第一综合99久久| 国产激情91久久精品导航| 亚洲精品国产品国语在线app| 国产东北露脸精品视频| 亚洲图片自拍偷拍| 久久久另类综合| 色成人在线视频| 国产传媒久久文化传媒| 亚洲一区二区不卡免费| 国产婷婷一区二区| 欧美三级欧美一级| 国产精品18久久久久久vr| 亚洲一区在线播放| 久久精品亚洲精品国产欧美| 欧美日韩国产中文| 成人午夜av电影| 精品一区二区三区久久| 亚洲国产三级在线| 亚洲一区中文日韩| 国产三区在线成人av| 欧美日韩免费一区二区三区| 99国产麻豆精品| 国产精品自拍毛片| 另类调教123区| 亚洲 欧美综合在线网络| 一区视频在线播放| 国产亚洲女人久久久久毛片| 日韩视频在线你懂得| 日本道在线观看一区二区| 北岛玲一区二区三区四区| 狠狠色狠狠色综合| 美女看a上一区| 日本免费在线视频不卡一不卡二| 日韩一级二级三级精品视频| 欧美少妇xxx| 91国内精品野花午夜精品| 99久久精品国产精品久久| 极品少妇xxxx偷拍精品少妇| 蜜臀久久久久久久| 亚洲成人av中文| 亚洲福利一二三区| 亚洲福利视频一区二区| 亚洲图片一区二区| 亚洲成人久久影院| 日韩中文欧美在线| 日韩av在线免费观看不卡| 日韩av在线发布| 美国毛片一区二区三区| 激情深爱一区二区| 国产酒店精品激情| 成人免费黄色在线| aaa欧美日韩| 精品视频全国免费看| 欧美肥妇毛茸茸| 日韩精品中午字幕| 国产日韩欧美制服另类| 国产精品久久久久天堂| 亚洲精品亚洲人成人网在线播放| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲免费在线观看| 亚洲精品视频免费看| 亚洲国产日韩a在线播放| 日韩在线a电影| 国产一区二区三区久久久| 国产精品自拍三区| 91首页免费视频| 欧美精品一卡二卡| 日韩一区二区三区三四区视频在线观看| 国产精品综合在线视频| 国产99久久久国产精品| 在线观看网站黄不卡| 欧美三级日本三级少妇99| 精品盗摄一区二区三区| 国产精品久99| 麻豆免费看一区二区三区| 成人毛片在线观看| 欧美一区二区三区免费在线看| 色噜噜狠狠成人中文综合| 91精品国产综合久久精品麻豆 | 在线免费观看日韩欧美| 欧美一二区视频| 亚洲欧美激情插 | 成人国产精品免费观看视频| 99国内精品久久| 日韩精品中文字幕一区| 一区二区三区中文在线观看| 激情成人综合网| 在线视频一区二区三|