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

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

?? iphelper.~pas

?? 實現網絡流量的分析
?? ~PAS
?? 第 1 頁 / 共 3 頁
字號:
      List.Add( 'Cumulative Connections   :' + IntToStr( dwNumConns ) );
    end
  else
    List.Add( SyserrorMessage( ErrorCode ) );

end;

//------------------------------------------------------------------------------
procedure Get_UDPTable( List: TStrings );
var
  UDPRow        : TMIBUDPRow;
  i,
    NumEntries  : integer;
  TableSize     : DWORD;
  ErrorCode     : DWORD;
  pBuf          : PChar;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;

  // first call : get size of table
  TableSize := 0;
  ErrorCode := GetUDPTable( PTMIBUDPTable( pBuf ), @TableSize, true );
  if Errorcode <> ERROR_INSUFFICIENT_BUFFER then
    EXIT;

  // get required size of memory, call again
  GetMem( pBuf, TableSize );

  // get table
  ErrorCode := GetUDPTable( PTMIBUDPTable( pBuf ), @TableSize, true );
  if ErrorCode = NO_ERROR then
  begin
    NumEntries := PTMIBUDPTable( pBuf )^.dwNumEntries;
    if NumEntries > 0 then
    begin
      inc( pBuf, SizeOf( DWORD ) ); // get past table size
      for i := 1 to NumEntries do
      begin
        UDPRow := PTMIBUDPRow( pBuf )^; // get next record
        with UDPRow do
          List.Add( Format( '%15s : %-6s',
            [IpAddr2Str( dwLocalAddr ),
            Port2Svc( Port2Wrd( dwLocalPort ) )
              ] ) );
        inc( pBuf, SizeOf( TMIBUDPRow ) );
      end;
    end
    else
      List.Add( 'no entries.' );
  end
  else
    List.Add( SyserrorMessage( ErrorCode ) );
  dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( TMibUDPRow ) );
  FreeMem( pBuf );
end;

//------------------------------------------------------------------------------
procedure Get_IPAddrTable( List: TStrings );
var
  IPAddrRow     : TMibIPAddrRow;
  TableSize     : DWORD;
  ErrorCode     : DWORD;
  i             : integer;
  pBuf          : PChar;
  NumEntries    : DWORD;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;
  TableSize := 0; ;
  // first call: get table length
  ErrorCode := GetIpAddrTable( PTMibIPAddrTable( pBuf ), @TableSize, true );
  if Errorcode <> ERROR_INSUFFICIENT_BUFFER then
    EXIT;

  GetMem( pBuf, TableSize );
  // get table
  ErrorCode := GetIpAddrTable( PTMibIPAddrTable( pBuf ), @TableSize, true );
  if ErrorCode = NO_ERROR then
  begin
    NumEntries := PTMibIPAddrTable( pBuf )^.dwNumEntries;
    if NumEntries > 0 then
    begin
      inc( pBuf, SizeOf( DWORD ) );
      for i := 1 to NumEntries do
      begin
        IPAddrRow := PTMIBIPAddrRow( pBuf )^;
        with IPAddrRow do
          List.Add( Format( '%8.8x|%15s|%15s|%15s|%8.8d',
            [dwIndex,
            IPAddr2Str( dwAddr ),
              IPAddr2Str( dwMask ),
              IPAddr2Str( dwBCastAddr ),
              dwReasmSize
              ] ) );
        inc( pBuf, SizeOf( TMIBIPAddrRow ) );
      end;
    end
    else
      List.Add( 'no entries.' );
  end
  else
    List.Add( SysErrorMessage( ErrorCode ) );

  // we must restore pointer!
  dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( IPAddrRow ) );
  FreeMem( pBuf );
end;


//-----------------------------------------------------------------------------
{ gets entries in routing table; equivalent to "Route Print" }
procedure Get_IPForwardTable( List: TStrings );
var
  IPForwRow     : TMibIPForwardRow;
  TableSize     : DWORD;
  ErrorCode     : DWORD;
  i             : integer;
  pBuf          : PChar;
  NumEntries    : DWORD;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;
  TableSize := 0;

  // first call: get table length
  ErrorCode := GetIpForwardTable( PTMibIPForwardTable( pBuf ), @TableSize, true
    );
  if Errorcode <> ERROR_INSUFFICIENT_BUFFER then
    EXIT;

  // get table
  GetMem( pBuf, TableSize );
  ErrorCode := GetIpForwardTable( PTMibIPForwardTable( pBuf ), @TableSize, true
    );
  if ErrorCode = NO_ERROR then
  begin
    NumEntries := PTMibIPForwardTable( pBuf )^.dwNumEntries;
    if NumEntries > 0 then
    begin
      inc( pBuf, SizeOf( DWORD ) );
      for i := 1 to NumEntries do
      begin
        IPForwRow := PTMibIPForwardRow( pBuf )^;
        with IPForwRow do
          List.Add( Format(
            '%15s|%15s|%15s|%8.8x|%7s|   %5.5d|    %7s|        %2.2d',
            [IPAddr2Str( dwForwardDest ),
            IPAddr2Str( dwForwardMask ),
              IPAddr2Str( dwForwardNextHop ),
              dwForwardIFIndex,
              IPForwTypes[dwForwardType],
              dwForwardNextHopAS,
              IPForwProtos[dwForwardProto],
              dwForwardMetric1
              ] ) );
        inc( pBuf, SizeOf( TMibIPForwardRow ) );
      end;
    end
    else
      List.Add( 'no entries.' );
  end
  else
    List.Add( SysErrorMessage( ErrorCode ) );
  dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( TMibIPForwardRow ) );
  FreeMem( pBuf );
end;

//------------------------------------------------------------------------------
procedure Get_IPStatistics( List: TStrings );
var
  IPStats       : TMibIPStats;
  ErrorCode     : integer;
begin
  if not Assigned( List ) then EXIT;
  ErrorCode := GetIPStatistics( @IPStats );
  if ErrorCode = NO_ERROR then
  begin
    List.Clear;
    with IPStats do
    begin
      if dwForwarding = 1 then
        List.add( 'Forwarding Enabled      : ' + 'Yes' )
      else
        List.add( 'Forwarding Enabled      : ' + 'No' );
      List.add( 'Default TTL             : ' + inttostr( dwDefaultTTL ) );
      List.add( 'Datagrams Received      : ' + inttostr( dwInReceives ) );
      List.add( 'Header Errors     (In)  : ' + inttostr( dwInHdrErrors ) );
      List.add( 'Address Errors    (In)  : ' + inttostr( dwInAddrErrors ) );
      List.add( 'Unknown Protocols (In)  : ' + inttostr( dwInUnknownProtos ) );
      List.add( 'Datagrams Discarded     : ' + inttostr( dwInDiscards ) );
      List.add( 'Datagrams Delivered     : ' + inttostr( dwInDelivers ) );
      List.add( 'Requests Out            : ' + inttostr( dwOutRequests ) );
      List.add( 'Routings Discarded      : ' + inttostr( dwRoutingDiscards ) );
      List.add( 'No Routes          (Out): ' + inttostr( dwOutNoRoutes ) );
      List.add( 'Reassemble TimeOuts     : ' + inttostr( dwReasmTimeOut ) );
      List.add( 'Reassemble Requests     : ' + inttostr( dwReasmReqds ) );
      List.add( 'Succesfull Reassemblies : ' + inttostr( dwReasmOKs ) );
      List.add( 'Failed Reassemblies     : ' + inttostr( dwReasmFails ) );
      List.add( 'Succesful Fragmentations: ' + inttostr( dwFragOKs ) );
      List.add( 'Failed Fragmentations   : ' + inttostr( dwFragFails ) );
      List.add( 'Datagrams Fragmented    : ' + inttostr( dwFRagCreates ) );
      List.add( 'Number of Interfaces    : ' + inttostr( dwNumIf ) );
      List.add( 'Number of IP-addresses  : ' + inttostr( dwNumAddr ) );
      List.add( 'Routes in RoutingTable  : ' + inttostr( dwNumRoutes ) );
    end;
  end
  else
    List.Add( SysErrorMessage( ErrorCode ) );
end;

//------------------------------------------------------------------------------
procedure Get_UdpStatistics( List: TStrings );
var
  UdpStats      : TMibUDPStats;
  ErrorCode     : integer;
begin
  if not Assigned( List ) then EXIT;
  ErrorCode := GetUDPStatistics( @UdpStats );
  if ErrorCode = NO_ERROR then
  begin
    List.Clear;
    with UDPStats do
    begin
      List.add( 'Datagrams (In)    : ' + inttostr( dwInDatagrams ) );
      List.add( 'Datagrams (Out)   : ' + inttostr( dwOutDatagrams ) );
      List.add( 'No Ports          : ' + inttostr( dwNoPorts ) );
      List.add( 'Errors    (In)    : ' + inttostr( dwInErrors ) );
      List.add( 'UDP Listen Ports  : ' + inttostr( dwNumAddrs ) );
    end;
  end
  else
    List.Add( SysErrorMessage( ErrorCode ) );
end;

//------------------------------------------------------------------------------
procedure Get_ICMPStats( ICMPIn, ICMPOut: TStrings );
var
  ErrorCode     : DWORD;
  ICMPStats     : PTMibICMPInfo;
begin
  if ( ICMPIn = nil ) or ( ICMPOut = nil ) then EXIT;
  ICMPIn.Clear;
  ICMPOut.Clear;
  New( ICMPStats );
  ErrorCode := GetICMPStatistics( ICMPStats );
  if ErrorCode = NO_ERROR then
  begin
    with ICMPStats.InStats do
    begin
      ICMPIn.Add( 'Messages received    : ' + IntToStr( dwMsgs ) );
      ICMPIn.Add( 'Errors               : ' + IntToStr( dwErrors ) );
      ICMPIn.Add( 'Dest. Unreachable    : ' + IntToStr( dwDestUnreachs ) );
      ICMPIn.Add( 'Time Exceeded        : ' + IntToStr( dwTimeEcxcds ) );
      ICMPIn.Add( 'Param. Problems      : ' + IntToStr( dwParmProbs ) );
      ICMPIn.Add( 'Source Quench        : ' + IntToStr( dwSrcQuenchs ) );
      ICMPIn.Add( 'Redirects            : ' + IntToStr( dwRedirects ) );
      ICMPIn.Add( 'Echo Requests        : ' + IntToStr( dwEchos ) );
      ICMPIn.Add( 'Echo Replies         : ' + IntToStr( dwEchoReps ) );
      ICMPIn.Add( 'Timestamp Requests   : ' + IntToStr( dwTimeStamps ) );
      ICMPIn.Add( 'Timestamp Replies    : ' + IntToStr( dwTimeStampReps ) );

      ICMPIn.Add( 'Addr. Masks Requests : ' + IntToStr( dwAddrMasks ) );
      ICMPIn.Add( 'Addr. Mask Replies   : ' + IntToStr( dwAddrReps ) );
    end;
     //
    with ICMPStats^.OutStats do
    begin
      ICMPOut.Add( 'Messages sent        : ' + IntToStr( dwMsgs ) );
      ICMPOut.Add( 'Errors               : ' + IntToStr( dwErrors ) );
      ICMPOut.Add( 'Dest. Unreachable    : ' + IntToStr( dwDestUnreachs ) );
      ICMPOut.Add( 'Time Exceeded        : ' + IntToStr( dwTimeEcxcds ) );
      ICMPOut.Add( 'Param. Problems      : ' + IntToStr( dwParmProbs ) );
      ICMPOut.Add( 'Source Quench        : ' + IntToStr( dwSrcQuenchs ) );
      ICMPOut.Add( 'Redirects            : ' + IntToStr( dwRedirects ) );
      ICMPOut.Add( 'Echo Requests        : ' + IntToStr( dwEchos ) );
      ICMPOut.Add( 'Echo Replies         : ' + IntToStr( dwEchoReps ) );
      ICMPOut.Add( 'Timestamp Requests   : ' + IntToStr( dwTimeStamps ) );
      ICMPOut.Add( 'Timestamp Replies    : ' + IntToStr( dwTimeStampReps ) );
      ICMPOut.Add( 'Addr. Masks Requests : ' + IntToStr( dwAddrMasks ) );
      ICMPOut.Add( 'Addr. Mask Replies   : ' + IntToStr( dwAddrReps ) );
    end;
  end
  else
    IcmpIn.Add( SysErrorMessage( ErrorCode ) );
  Dispose( ICMPStats );
end;

//------------------------------------------------------------------------------
procedure Get_RecentDestIPs( List: TStrings );
begin
  if Assigned( List ) then
    List.Assign( RecentIPs )
end;

initialization

  RecentIPs := TStringList.Create;

finalization

  RecentIPs.Free;

end.

{ List of Fixes & Additions

v1.1
-----
Fix :  wrong errorcode reported in GetNetworkParams()
Fix :  RTTI MaxHops 20 > 128
Add :  ICMP -statistics
Add :  Well-Known port numbers
Add :  RecentIP list
Add :  Timer update

v1.2
----
Fix :  Recent IP's correct update
ADD :  ICMP-error codes translated

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线一区二区| 国产三区在线成人av| 国产精品资源在线看| 中文字幕中文字幕中文字幕亚洲无线| 欧美亚洲动漫另类| 国产成人免费网站| 日日摸夜夜添夜夜添精品视频| 久久九九全国免费| 欧美三级中文字幕在线观看| 国产一区二区三区香蕉| 国产一区二区不卡在线| 亚洲自拍偷拍av| 国产嫩草影院久久久久| 日韩一区二区在线观看视频| 91在线国产观看| 国产在线精品不卡| 日韩av在线播放中文字幕| 亚洲精品成人精品456| 国产女人水真多18毛片18精品视频| 欧美日韩国产成人在线免费| 99精品视频免费在线观看| 国产精品一线二线三线| 美日韩一区二区三区| 亚洲高清免费在线| 日韩毛片一二三区| 国产欧美日韩麻豆91| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美日韩国产另类一区| 欧美专区在线观看一区| 99久久久国产精品免费蜜臀| 福利电影一区二区三区| 加勒比av一区二区| 另类小说综合欧美亚洲| 美女视频黄免费的久久| 青青草原综合久久大伊人精品优势| 一区二区三国产精华液| 一区二区免费在线播放| 亚洲一二三区在线观看| 亚洲小说欧美激情另类| 94-欧美-setu| 蜜桃传媒麻豆第一区在线观看| 亚洲影院在线观看| 午夜精品123| 青娱乐精品在线视频| 日本在线不卡一区| 日本欧美久久久久免费播放网| 日韩在线a电影| 美女高潮久久久| 国内精品伊人久久久久av影院| 久久99九九99精品| 国产99精品国产| 国产传媒欧美日韩成人| 国产精品99久久久久久宅男| 成人午夜精品一区二区三区| 丰满少妇久久久久久久| www.综合网.com| 91精品1区2区| 91精品中文字幕一区二区三区| 日韩一区二区精品葵司在线| 欧美一级日韩免费不卡| 26uuu亚洲综合色| 欧美激情综合在线| 亚洲三级视频在线观看| 香蕉乱码成人久久天堂爱免费| 日韩avvvv在线播放| 国产精品性做久久久久久| 欧美色视频在线观看| 91搞黄在线观看| 欧美男男青年gay1069videost| 56国语精品自产拍在线观看| 精品国产一区二区三区av性色| 欧美激情一区二区三区不卡| 亚洲色图第一区| 首页国产欧美久久| 国产盗摄视频一区二区三区| 在线亚洲+欧美+日本专区| 欧美日韩一级片在线观看| 亚洲精品在线免费播放| 国产精品久久久久久久久免费桃花 | 国产欧美一区二区三区鸳鸯浴| 国产精品国产a| 亚洲 欧美综合在线网络| 国产麻豆精品一区二区| 色噜噜久久综合| www国产成人免费观看视频 深夜成人网| 中文字幕乱码久久午夜不卡 | 国产精品美日韩| 亚洲成人精品在线观看| 国产成人在线观看免费网站| 91国产成人在线| 国产亚洲精品资源在线26u| 亚洲成人激情自拍| 国产91精品在线观看| 欧美情侣在线播放| 国产精品福利在线播放| 日本美女视频一区二区| 色偷偷一区二区三区| 欧美精品一区二区高清在线观看 | 另类小说视频一区二区| 日本高清无吗v一区| 久久精品亚洲一区二区三区浴池| 亚洲高清不卡在线| 国产高清不卡一区二区| 日韩欧美一二区| 日本精品视频一区二区三区| 91成人国产精品| 国产欧美日韩三级| 久久精品国产精品亚洲综合| 欧美主播一区二区三区| 国产日产精品一区| 日本麻豆一区二区三区视频| 在线观看亚洲精品| 国产精品卡一卡二卡三| 精品一区二区三区的国产在线播放 | 国产精品一区二区在线观看不卡| 欧美另类高清zo欧美| 亚洲精品日产精品乱码不卡| 91黄色免费网站| 国产精品天美传媒沈樵| 国产一区美女在线| 日韩午夜小视频| 日韩电影在线看| 欧美男同性恋视频网站| 亚洲gay无套男同| 色婷婷久久久综合中文字幕| 国产精品久久久久久久久晋中 | 国产剧情av麻豆香蕉精品| 欧美撒尿777hd撒尿| 色婷婷亚洲婷婷| 亚洲人成人一区二区在线观看 | 一区二区三区中文在线观看| 成人激情文学综合网| 国产亚洲婷婷免费| 国产毛片精品视频| 精品粉嫩超白一线天av| 久久精工是国产品牌吗| 欧美大片在线观看| 另类小说欧美激情| 7777精品伊人久久久大香线蕉最新版| 欧美激情一区二区| 国产九色sp调教91| 国产亚洲一区二区三区四区| 精品一区二区在线看| 精品国产一区二区三区久久影院 | 日韩激情中文字幕| 欧美乱妇15p| 免费成人av资源网| 精品国产免费久久| 国产一区二区三区国产| 欧美高清在线一区| 99re8在线精品视频免费播放| 国产精品美女久久久久久久久 | 99久久精品一区二区| 337p亚洲精品色噜噜狠狠| 奇米一区二区三区| 久久久精品人体av艺术| 成人免费看视频| 亚洲一区二区影院| 51久久夜色精品国产麻豆| 久草精品在线观看| 国产精品美女久久久久久久久| 91免费在线播放| 天堂一区二区在线免费观看| 精品黑人一区二区三区久久| 高潮精品一区videoshd| 亚洲高清久久久| 欧美大片在线观看一区| fc2成人免费人成在线观看播放 | 国产精品视频第一区| 色视频欧美一区二区三区| 天堂成人国产精品一区| 久久欧美一区二区| 色欧美日韩亚洲| 成人一区二区视频| 亚洲午夜视频在线| 久久久五月婷婷| 日本二三区不卡| 狠狠网亚洲精品| 亚洲男人的天堂在线观看| 日韩视频一区二区| av电影在线观看一区| 日韩av成人高清| 国产精品第五页| 日韩欧美高清一区| 91麻豆精品一区二区三区| 久久国产福利国产秒拍| 一区二区视频在线| 久久久久久免费毛片精品| 99re热这里只有精品免费视频| 亚洲国产欧美一区二区三区丁香婷| 欧美精品乱码久久久久久按摩| 国产91精品入口| 日本视频在线一区| 亚洲欧美一区二区久久| 久久婷婷成人综合色| 欧美日韩一区二区三区在线| 国产白丝网站精品污在线入口| 午夜精品福利视频网站| 国产精品久久久久一区二区三区| 欧美一区二区视频在线观看2020|