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

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

?? iphelper.~pas

?? 實(shí)現(xiàn)網(wǎng)絡(luò)流量的分析
?? ~PAS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
  TableSize := 0;
   // first call: get memsize needed
  Error := GetIfTable( PTMibIfTable( pBuf ), @TableSize, false );
  if Error <> ERROR_INSUFFICIENT_BUFFER then
    EXIT;
  GetMem( pBuf, TableSize );

   // get table pointer
  Error := GetIfTable( PTMibIfTable( pBuf ), @TableSize, false );
  if Error = NO_ERROR then
  begin
    NumEntries := PTMibIfTable( pBuf )^.dwNumEntries;
    if NumEntries > 0 then
    begin
      inc( pBuf, SizeOf( NumEntries ) );
      for i := 1 to NumEntries do
      begin
        IfRow := PTMibIfRow( pBuf )^;
        with IfRow do
        begin
          SetLength( sDescr, dwDescrLen );
          move( bDescr, sDescr[1], Length( sDescr ) );
          sDescr := trim( sDescr );
          List.Add( Format( '%0.8x| %3d| %16s| %8d| %12d| %2d| %2d| %-s',
            [dwIndex, dwType,
            MacAddr2Str( TMacAddress( bPhysAddr ), dwPhysAddrLen )
              , dwMTU, dwSpeed, dwAdminStatus,
              dwOPerStatus, sDescr] )
              );
        end;
        inc( pBuf, SizeOf( IfRow ) );
      end;
    end
    else
      List.Add( 'no entries.' );
  end
  else
    List.Add( SysErrorMessage( GetLastError ) );
  dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( IfRow ) );
  FreeMem( pBuf );
end;



//-----------------------------------------------------------------------------
{ Info on installed adapters }
procedure Get_AdaptersInfo( List: TStrings );
var
  Error,
    BufLen      : DWORD;
  AdapterInfo   : PTIP_ADAPTER_INFO;
  Descr,
    LocalIP,
    GatewayIP,
    DHCPIP      : string;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;
  BufLen := SizeOf( AdapterInfo^ );
  New( AdapterInfo );
  Error := GetAdaptersInfo( AdapterInfo, @BufLen );
  if Error = NO_ERROR then
  begin
    while ( AdapterInfo <> nil ) do
      with AdapterInfo^ do
      begin
        SetLength( Descr, SizeOf( Description ) );
        Descr := Trim( string( Description ) );
        //
        LocalIP := NULL_IP;
        if IPAddressList.IpAddress[1] <> #0 then
          LocalIP := IPAddressList.IpAddress
        else
          LocalIP := NULL_IP;
        //
        if GateWayList.IPAddress[1] <> #0 then
          GateWayIP := GatewayList.IPAddress
        else
          GateWayIP := NULL_IP;
        //
        if DHCPServer.IPAddress[1] <> #0 then
          DHCPIP := DHCPServer.IPAddress
        else
          DHCPIP := NULL_IP;

        List.Add( Descr );
        List.Add( Format(
          '%8.8x|%6s|%16s|%2d|%16s|%16s|%16s',
          [Index, AdaptTypes[aType],
          MacAddr2Str( TMacAddress( Address ), AddressLength ),
            DHCPEnabled, LocalIP, GatewayIP, DHCPIP] )
            );
        List.Add( '  ' );
        AdapterInfo := Next;
      end
  end
  else
    List.Add( SysErrorMessage( Error ) );
  Dispose( AdapterInfo );
end;

//-----------------------------------------------------------------------------
{ get round trip time and hopcount to indicated IP }
function Get_RTTAndHopCount( IPAddr: DWORD; MaxHops: Longint; var RTT: Longint;
  var HopCount: Longint ): integer;
begin
  if not GetRTTAndHopCount( IPAddr, @HopCount, MaxHops, @RTT ) then
  begin
    Result := GetLastError;
    RTT := -1; // Destination unreachable, BAD_HOST_NAME,etc...
    HopCount := -1;
  end
  else
    Result := NO_ERROR;
end;

//-----------------------------------------------------------------------------
{ ARP-table lists relations between remote IP and remote MAC-address.
 NOTE: these are cached entries ;when there is no more network traffic to a
 node, entry is deleted after a few minutes.
}
procedure Get_ARPTable( List: TStrings );
var
  IPNetRow      : TMibIPNetRow;
  TableSize     : DWORD;
  NumEntries    : DWORD;
  ErrorCode     : DWORD;
  i             : integer;
  pBuf          : PChar;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;
  // first call: get table length
  TableSize := 0;
  ErrorCode := GetIPNetTable( PTMIBIpNetTable( pBuf ), @TableSize, false );
  //
  if ErrorCode = ERROR_NO_DATA then
  begin
    List.Add( ' ARP-cache empty.' );
    EXIT;
  end;
  // get table
  GetMem( pBuf, TableSize );
  ErrorCode := GetIpNetTable( PTMIBIPNetTable( pBuf ), @TableSize, false );
  if ErrorCode = NO_ERROR then
  begin
    NumEntries := PTMIBIPNetTable( pBuf )^.dwNumEntries;
    if NumEntries > 0 then // paranoia striking, but you never know...
    begin
      inc( pBuf, SizeOf( DWORD ) ); // get past table size
      for i := 1 to NumEntries do
      begin
        IPNetRow := PTMIBIPNetRow( PBuf )^;
        with IPNetRow do
          List.Add( Format( '%8x | %12s | %16s| %10s',
                           [dwIndex, MacAddr2Str( bPhysAddr, dwPhysAddrLen ),
                           IPAddr2Str( dwAddr ), ARPEntryType[dwType]
                           ]));
        inc( pBuf, SizeOf( IPNetRow ) );
      end;
    end
    else
      List.Add( ' ARP-cache empty.' );
  end
  else
    List.Add( SysErrorMessage( ErrorCode ) );

  // we _must_ restore pointer!
  dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( IPNetRow ) );
  FreeMem( pBuf );

end;


//------------------------------------------------------------------------------
procedure Get_TCPTable( List: TStrings );
var
  TCPRow        : TMIBTCPRow;
  i,
    NumEntries  : integer;
  TableSize     : DWORD;
  ErrorCode     : DWORD;
  DestIP        : string;
  pBuf          : PChar;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;
  RecentIPs.Clear;
  // first call : get size of table
  TableSize := 0;
  ErrorCode := GetTCPTable( PTMIBTCPTable( pBuf ), @TableSize, true );
  if Errorcode <> ERROR_INSUFFICIENT_BUFFER then
    EXIT;

  // get required size of memory, call again
  GetMem( pBuf, TableSize );
  // get table
  ErrorCode := GetTCPTable( PTMIBTCPTable( pBuf ), @TableSize, true );
  if ErrorCode = NO_ERROR then
  begin

    NumEntries := PTMIBTCPTable( pBuf )^.dwNumEntries;
    if NumEntries > 0 then
    begin
      inc( pBuf, SizeOf( DWORD ) ); // get past table size
      for i := 1 to NumEntries do
      begin
        TCPRow := PTMIBTCPRow( pBuf )^; // get next record
        with TCPRow do
        begin
          if dwRemoteAddr = 0 then
            dwRemotePort := 0;
          DestIP := IPAddr2Str( dwRemoteAddr );
          List.Add(
            Format( '%15s : %-7s|%15s : %-7s| %-16s',
            [IpAddr2Str( dwLocalAddr ),
            Port2Svc( Port2Wrd( dwLocalPort ) ),
              DestIP,
              Port2Svc( Port2Wrd( dwRemotePort ) ),
              TCPConnState[dwState]
              ] ) );
         //
            if (not ( dwRemoteAddr = 0 ))
            and ( RecentIps.IndexOf(DestIP) = -1 ) then
               RecentIPs.Add( DestIP );
        end;
        inc( pBuf, SizeOf( TMIBTCPRow ) );
      end;
    end;
  end
  else
    List.Add( SyserrorMessage( ErrorCode ) );
  dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( TMibTCPRow ) );
  FreeMem( pBuf );
end;


//------------------------------------------------------------------------------
procedure Get_OpenConnections( List: TList );
var
    TCPRow        : TMIBTCPRow;
    i,NumEntries  : integer;
    TableSize     : DWORD;
    ErrorCode     : DWORD;
    DestIP        : string;
    pBuf          : PChar;
    CStat         : PTTcpConnStatus;
begin
    if not Assigned( List ) then EXIT;
    List.Clear;
    //首先取得TCP連接的列表的大小
    TableSize := 0;
    ErrorCode := GetTCPTable( PTMIBTCPTable( pBuf ), @TableSize, true );
    if Errorcode <> ERROR_INSUFFICIENT_BUFFER then
        EXIT;

    //分配內(nèi)存
    GetMem( pBuf, TableSize );
    //取得TCP連接的列表
    ErrorCode := GetTCPTable( PTMIBTCPTable( pBuf ), @TableSize, true );
    if ErrorCode = NO_ERROR then
    begin
    NumEntries := PTMIBTCPTable( pBuf )^.dwNumEntries;
        if NumEntries > 0 then
        begin
            inc( pBuf, SizeOf( DWORD ) );
            for i := 1 to NumEntries do
            begin
            TCPRow := PTMIBTCPRow( pBuf )^;//下一個(gè)記錄
                with TCPRow do
                if dwState in [2,5] then//只取兩種狀態(tài)的連接
                begin
                    New( CStat );
                    CStat^.LocalIP   := IPAddr2Str( dwLocalAddr );
                    CStat^.LocalPort := Port2Svc( Port2Wrd( dwLocalPort ));
                    if dwRemoteAddr <> 0 then
                    begin
                        CStat^.RemoteIP := IPAddr2Str( dwRemoteAddr );
                        CStat^.RemotePort :=
                            Port2Svc( Port2Wrd( dwRemotePort ));
                    end
                    else
                    begin
                        CStat^.RemoteIP   := '...';
                        CStat^.RemotePort := '...';
                    end;
                    CStat^.Status := TCPConnState[dwState];
                    List.Add( CStat );
                end;
                inc( pBuf, SizeOf( TMIBTCPRow ) );
            end;
        end;
    end;
    dec( pBuf, SizeOf( DWORD ) + NumEntries * SizeOf( TMibTCPRow ) );
    FreeMem( pBuf );
end;



//------------------------------------------------------------------------------
procedure Get_TCPStatistics( List: TStrings );
var
  TCPStats      : TMibTCPStats;
  ErrorCode     : DWORD;
begin
  if not Assigned( List ) then EXIT;
  List.Clear;
  ErrorCode := GetTCPStatistics( @TCPStats );
  if ErrorCode = NO_ERROR then
    with TCPStats do
    begin
      List.Add( 'Retransmission algorithm :' + TCPToAlgo[dwRTOAlgorithm] );
      List.Add( 'Minimum Time-Out         :' + IntToStr( dwRTOMin ) + ' ms' );
      List.Add( 'Maximum Time-Out         :' + IntToStr( dwRTOMax ) + ' ms' );
      List.Add( 'Maximum Pend.Connections :' + IntToStr( dwRTOAlgorithm ) );
      List.Add( 'Active Opens             :' + IntToStr( dwActiveOpens ) );
      List.Add( 'Passive Opens            :' + IntToStr( dwPassiveOpens ) );
      List.Add( 'Failed Open Attempts     :' + IntToStr( dwAttemptFails ) );
      List.Add( 'Established conn. Reset  :' + IntToStr( dwEstabResets ) );
      List.Add( 'Current Established Conn.:' + IntToStr( dwCurrEstab ) );
      List.Add( 'Segments Received        :' + IntToStr( dwInSegs ) );
      List.Add( 'Segments Sent            :' + IntToStr( dwOutSegs ) );
      List.Add( 'Segments Retransmitted   :' + IntToStr( dwReTransSegs ) );
      List.Add( 'Incoming Errors          :' + IntToStr( dwInErrs ) );
      List.Add( 'Outgoing Resets          :' + IntToStr( dwOutRsts ) );

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91.xcao| 亚洲一区二区成人在线观看| 日韩精品专区在线| 欧美一区永久视频免费观看| 欧美日韩黄色影视| 精品视频在线免费| 欧美乱妇23p| 日韩欧美一区在线| 日韩免费观看高清完整版在线观看| 欧美日韩精品免费观看视频| 欧美性受极品xxxx喷水| 91黄色在线观看| 在线亚洲免费视频| 欧美日韩夫妻久久| 欧美日产国产精品| 日韩欧美一级片| 精品日韩成人av| 久久精品日产第一区二区三区高清版 | 欧美成人激情免费网| 日韩欧美国产小视频| 欧美精品一区二区三区在线 | 91超碰这里只有精品国产| 欧美日韩精品一区二区三区蜜桃 | 欧美本精品男人aⅴ天堂| 日韩欧美三级在线| 久久新电视剧免费观看| 欧美激情综合网| 自拍偷自拍亚洲精品播放| 亚洲一区二区在线播放相泽| 日韩国产精品91| 国产精品一卡二| 91色乱码一区二区三区| 欧美日韩mp4| 久久久综合网站| 亚洲精品中文在线| 日本成人在线不卡视频| 国产成人精品亚洲午夜麻豆| av动漫一区二区| 欧美三级电影一区| 久久先锋资源网| 亚洲精品国久久99热| 蜜桃传媒麻豆第一区在线观看| 国产精品系列在线观看| av网站一区二区三区| 欧美性猛交xxxx乱大交退制版| 日韩精品最新网址| 成人欧美一区二区三区小说| 轻轻草成人在线| 97久久精品人人做人人爽50路| 欧美伦理影视网| 中文字幕中文字幕中文字幕亚洲无线| 亚洲第一电影网| 风间由美一区二区三区在线观看 | 亚洲国产精品视频| 国产成人自拍在线| 在线不卡中文字幕| 国产精品久久久久久久久搜平片| 午夜激情一区二区| 97久久人人超碰| 久久综合一区二区| 偷窥少妇高潮呻吟av久久免费| 国产aⅴ综合色| 日韩一区二区在线看| 亚洲欧洲成人精品av97| 久久99精品久久久久婷婷| 在线看国产一区二区| 久久久国产一区二区三区四区小说 | 色88888久久久久久影院按摩| 精品久久久三级丝袜| 亚洲已满18点击进入久久| 国产 日韩 欧美大片| 91麻豆精品国产91久久久久久久久 | 亚洲精品videosex极品| 国产一区二区三区四区五区美女| 欧美日韩免费观看一区三区| 中文字幕在线不卡一区| 国内精品久久久久影院薰衣草| 欧美专区亚洲专区| 亚洲视频一区二区在线观看| 国产精品一区二区在线观看网站 | 久久夜色精品一区| 日韩av电影天堂| 欧美日韩色一区| 亚洲欧洲日本在线| www.亚洲精品| 国产欧美精品区一区二区三区| 美女诱惑一区二区| 日韩亚洲欧美一区二区三区| 亚洲一区在线视频| 日本韩国一区二区三区| 自拍偷拍欧美激情| 99久久99久久综合| 国产精品嫩草99a| 国产91精品精华液一区二区三区| 欧美成人a视频| 精品一区二区免费在线观看| 欧美一级片在线| 视频一区免费在线观看| 欧美精品在线观看一区二区| 亚洲精品欧美专区| 欧洲精品一区二区三区在线观看| 亚洲精品国产无天堂网2021 | 91麻豆精品国产| 日韩av中文在线观看| 欧美一区二区三区视频免费播放| 天堂在线一区二区| 日韩三级中文字幕| 精品一二线国产| 久久影音资源网| 国产白丝精品91爽爽久久| 国产无遮挡一区二区三区毛片日本| 国产乱色国产精品免费视频| 国产午夜精品美女毛片视频| 岛国一区二区三区| 国产精品国产成人国产三级| 99久久婷婷国产| 亚洲综合激情另类小说区| 69成人精品免费视频| 乱中年女人伦av一区二区| 26uuu国产在线精品一区二区| 国产精品亚洲一区二区三区在线| 国产亚洲女人久久久久毛片| 大白屁股一区二区视频| 亚洲视频一二区| 欧美网站一区二区| 久久精品国产一区二区| 国产丝袜美腿一区二区三区| 成人sese在线| 亚洲国产精品久久久久婷婷884| 这里只有精品视频在线观看| 国产一区高清在线| 中文字幕亚洲欧美在线不卡| 在线影院国内精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久先锋影音av鲁色资源网| 不卡视频一二三| 婷婷亚洲久悠悠色悠在线播放| 精品国产伦一区二区三区免费| 国产suv精品一区二区6| 亚洲精品五月天| 欧美本精品男人aⅴ天堂| www.亚洲精品| 日本一不卡视频| 国产精品私人自拍| 欧美日韩高清一区| 国产福利一区二区三区视频| 一区二区三区高清| 精品日韩一区二区三区免费视频| 成人国产精品免费观看视频| 午夜激情一区二区三区| 视频一区二区三区中文字幕| 久久精品一区二区三区四区| 在线日韩国产精品| 国产精品一线二线三线精华| 亚洲一区在线播放| 国产女同互慰高潮91漫画| 欧美日韩高清在线播放| 成人一级片网址| 蜜桃av一区二区| 亚洲欧美国产77777| 精品久久国产字幕高潮| 色哟哟国产精品免费观看| 蜜臀av性久久久久蜜臀av麻豆| 最新不卡av在线| 欧美大片在线观看| 欧美四级电影在线观看| 成人免费高清视频| 麻豆精品一区二区三区| 亚洲小说春色综合另类电影| 国产婷婷色一区二区三区四区| 欧美精品视频www在线观看 | 国产亚洲美州欧州综合国| 欧美性xxxxxx少妇| 高清不卡一二三区| 紧缚奴在线一区二区三区| 亚洲成人第一页| 中文字幕中文在线不卡住| 26uuu久久综合| 日韩午夜激情av| 欧美无人高清视频在线观看| 国产91综合网| 激情av综合网| 蜜臀av一区二区在线免费观看| 亚洲午夜电影在线观看| 国产精品高潮久久久久无| 国产亚洲短视频| 久久色在线观看| 日韩三区在线观看| 9191成人精品久久| 欧美肥妇free| 色爱区综合激月婷婷| 99久久精品免费观看| 粉嫩嫩av羞羞动漫久久久 | 欧美xxxx在线观看| 7777精品伊人久久久大香线蕉的| 99久久免费精品| 99久久99久久精品国产片果冻| 国产综合一区二区| 极品少妇xxxx偷拍精品少妇| 日本亚洲视频在线|