NETSTAT.EXE用于显示计算机上的TCP连接表,UDP监听者表,IP协议统计
获取TCP连接表
利用GetTcpTable函数可以获得TCP连接表。获得的信息和带上-p tcp -a执行NETSTAT.EXE程序时看到的信息一样:
- DWORD WINAPI GetTcpTable(
- __out PMIB_TCPTABLE pTcpTable,
- __in_out PDWORD pdwSize,
- __in BOOL bOrder
- );
pTcpTable是一个指针,指向一个MIB_TCPTABLE缓冲区,该缓冲区接收TCP连接信息
pdwSize是一个变量指针,指定传递到pTcpTable参数中缓冲区的长度,如果提供的长度容纳不下TCP连接信息,函数就会把这个参数设置为合适的缓冲区长度,bOrder指定是否对返回信息进行分类
- typedef struct _MIB_TCPTABLE {
- DWORD dwNumEntries;
- MIB_TCPROW table[ANY_SIZE];
- } MIB_TCPTABLE, *PMIB_TCPTABLE;
获得UDP监听者表
利用GetUdpTable可以获得UDP监听者表:
- DWORD GetUdpTable(
- __out PMIB_UDPTABLE pUdpTable,
- __in_out PDWORD pdwSize,
- __in BOOL bOrder
- );
pUdpTable是一个指针,指向一个MIB_UDPTABLE缓冲区,该缓冲区接收UDP连接信息
pdwSize是一个变量指针,指定传递到pUdpTable参数中缓冲区的长度,如果提供的长度容纳不下UDP连接信息,函数就会把这个参数设置为合适的缓冲区长度,bOrder指定是否对返回信息进行分类
- typedef struct _MIB_UDPTABLE {
- DWORD dwNumEntries;
- MIB_UDPROW table[ANY_SIZE];
- } MIB_UDPTABLE, *PMIB_UDPTABLE;