Структура, которая возвращает, РМІ _TCPTABLE имеет вид:
typedef struct _ РМІ _TCPTABLE {
DWORD dwNuмеntrіеs;
HІВ-CPROW table[ANY_SІZЕ];
} МИ_TCPTABLE. *РМІ_TCPTABLE;
Она содержит следующие поля:
o dwNuмеntrіеs - количество строк в поле table;
o table - указатель на массив структур типа МЕЛ_TCPROW, что содержат информацию о TCP-соединении.
Структура МЕЛ_TCPROW содержит информацию о парах Ір-адрес, которые утворяють TCP-соединения:
typedef struct _ РМІ _TCPROW {
DWORD dwState;
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwRemoteAddr;
DWORD dwRemotePort;
} РМІ _TCPROW, РHі_TCPROW;
Эта структура содержит следующие поля.
o dwState - состояние данного TCP-соединения. Может принимать значения:
· МЕЛ_TCP_STATE_CLOSED - CLOSED;
· MIB_TCP_STATE_СLОSІNG - СLОSІNG;
· MIB_TCP_STATE_CiOSE_WAIT- CLOSE WAIT;
· MIB_TCP_STATE_DE1ETE_TCB - DELETE;
· MIB_TCP_STATE_ESTAB - ESTABLISHED;
· MIB_TCP_STATE_FIN_WAIT1 -FINWAFTI;
· MIB_TCPJSTATE_FIN_WAIT2 — FIN WAIT2;
· MIB_ TCP_STATE_LAST_ACK - LAST ACK;
· MIB_TCP_STATE_USTEN - LISTENING;
· MIB_TCP_STATE_SYN_RCVD — SYN RCVD;
· MIB_TCP_STATE_SYN_SENT - SYN SENT;
· MIB_TCPJ5TATE_TIME_WAIT — TIME WAIT;
o dwLocalAddr — локальный IP-адрес данного соединения.
o dwLocalPort — локальный порт данного соединения.
o dwRemoteAddr — внешний IP-адрес данного соединения.
o dwRemotePort — внешний порт данного соединения
Получения таблицы портов UDP, которые прослушиваются.
Эта информация выводится на экран при запуске утилиты Netstat.exe с параметрами -р udp -а. Чтобы получить эти данные, программно, существует функция GetUdpTable:
DWORD GetUdpTable(
PMIB_UDPTABLE pUdpTable,
PDWORD pdwSIze,
BOOL border );
Параметр pUdpTable указывает на буфер МЕЛ_UDPTABLE, в которого будет помещенная информация о портах UDP, которые прослушиваются. Параметр рdwSіzе указывает на переменную, что задает размер этого буфера. Если размера буфера недостаточно, функция передаст в этом параметре необходимый размер. Параметр bOrder указывает, будет ли информация отсортирована.
Структура, которая возвращается, МІВUDРTАВLЕ имеет вид:
typedef struct _МЕЛ_UDPTABLE {
DWORD dwNumEntries;
МЕЛ_UDPROW table[ANY_SІZЕ];
} МЕЛ_UDPTABLE, РМІВ_UDPTABLE:
Она содержит следующие поля:
o dwNuмеntrіеs - количество строк в поле table;
o table - указывает на массив структур типа МІВUDРRО, что содержат информацию о портах UDP, которые прослушиваются.
Структура WBUDPROW содержит Ір-адрес, через который UDP ожидает приема дейтаграмм:
typedef struct _MIB_UDPROW
{ DWORD dwLocalAddr;
DWORD dwLocalPort;
} MIBUDPROW, * PMIB_UDPROW;
Она содержит следующие поля:
o dwLocalAddr - локальный Ір-адрес.
o dwLocalPort - локальный Ір-порт.
Статистическую информацию выводит утилита Netstat-exe с параметром -s. Ее можно получить также программно, с помощью функций GеtірStаtіstісs, GеtісмрStаtіstісs, GеtTсрStаtіstісs и GеtUdрStаtіstісs. Функция GеtірStаtіstісs получает статистику ІР для данного компьютера:
DWORD GеtірStаtіstісs(РHІ.ІРSTАTS pStats );
Параметр pStats – указывает на структуру МЕЛ_IPSTATS, где содержится статистика ІР:
typedef struct „HIB.IPSTATS {
DWORD dwForwarding;
DWORD dwDefaultTTL;
DWORD dwInReceives;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.