Разработка программы Ping. Разработка программы TraceRoute. Разработка программы IPStat. Разработка программы IPConfig, страница 4

o dwTімеstамрs - количество штампов времени;

o dwTімеstамрRерs - количество ответов на штампы времени;

o dwAddrMasks - количество масок адресов;

o dwAddrMaskReps - количество ответов на маски адресов.

Третья функция - GеtTсрStаtіstісs, служит для получения статистики протокола TCP:

DWORD GetTcpStatistics(РМІ_TCPSTATS pStats ):

Параметр pStats – указывает на структуру МЕЛ_TCPSTATS, где содержится статистика

typedef struct _HІ_TCPSTATS {

        DWORD dwRtоаlgоrіthм;

        DWORD dwRtоHіn;

        DWORD dwRtoMax;

        DWORD dwMaxConn;

        DWORD dwасtіvеореns;

        DWORD dwраssіvеореns;

        DWORD dwаttеіnрtFаіls;

        DWORD dwEstabResets;

        DWORD dwCurrEstab;

        DWORD dwіnSеgs;

        DWORD dwOutSegs;

        DWORD dwRetransSegs;

        DWORD dwіnеrrs;

        DWORD dwOutRsts;

        DWORD dwNuіnсоnns;

} МИ.TCPSTATS, *РHІ_TCPSTATS;

Структура МЕЛ_TCPSTATS содержит следующие поля:

o dwRtaAlgorUbm - используемый алгоритм ретрансляции, допустимые значения- МЕЛ_TCP_RTO_CONSTANT, МЕЛ_TCP_RTO_RSRE, MIB_TCP_RTO_VANJ и МЕЛ_TCP_RTO_OTHER,

U dwRtоміn - минимальный лимит времени для ретрансляции в миллисекундах,

o dwRtoMax - максимальный лимит времени для ретрансляции в миллисекундах,

o dwMaxConn - максимально допустимое количество подключений;

o dwасtіvеореns - количество подключений к серверу, инициированных данным компьютером;

o dwраssіvеореns - количество подключений клиентов к данному компьютеру,

o dwAttemptfaus - количество сбоев при подключении;

o dwEstabResets - количество сброшенных подключений;

o dwCurrEstab - количество текущих подключений;

o dwіnSеgs - количество полученных сегментов;

o dwOutSegs - количество отправленных (в том числе повторно) сегмекгов;

o dwRetransSegs - количество повторно отправленных сегментов;

o dwіnеrrs - количество сбоев при приеме,

o dwOutRsts - количество сегментов, переданных с флагом сбрасывания;

o dwNumConns - общее количество подключений.

Последняя функция - GеtUdрStаtіstісs, служит для получения статистики протокола UDP:

DWORD GеtUdрStаtіstісs(РHІ.UDPSTATS pStats );

Параметр pStats - указывает на структуру МЕЛ_UDPSTATS, куда содержится статистика:

typedef struct _МЕЛ_UDPSTATS {

        DWORD dwіnDаtаgrаns;

        DWORD dwNoPorts;

        DWORD dwіnеrrоrs;

        DWORD dwOutDatagrams;

        DWORD dwNunAddrs;

} HІ_UDPSTAT8,.РМІ_UDPSTATS;

Структура МИ_UDPSTATS содержит следующие поля:

o dwіnDаtаgrамs - количество полученных дейтаграмм;

o dwNoPorts - количество дейтаграмм, отброшенных из-за отсутствия портов;

o dwіnеrrоrs - количество ошибок при получении дейтаграмм (кроме dwNoPorts);

o   dwOutDatagrams - количество переданных дейтаграмм;

o dwNumAddrs - общее количество записей в таблице  портов, которые прослушиваются, UDP.

      Пользуясь этими функциями можно разработать прогрому IPStat.

Разработка программы IPConfig

Утилита IPConfig есть еще одним средством диагностики и разрешает получить индивидуальную информацию каждого сетевого ажаптера, что установлен в системе.

Для этого используется функция GetAdaptersInfo которая возвращает имена и значения параметров адаптера.

·  Description

·  Physical Address

·  DHCP Enabled

·  IP Address

·  Subnet Mask

·  Default Gateway

·  DHCP Server

·  Primary WINS Server

·  Secondary WINS Server

·  Lease Obtained

·  Lease Expires