|
探测远程Windows主机的NetBIOS信息(3) //pBuf为NET_DISPLAY_USER数据结构的指针;
7. 探测本地组列表 NetLocalGroupEnum(server,dwLevel,(PBYTE *)&pBuf,-1,&er,&tr,&resume); //dwLevel的等级是1; //pBuf返回LOCALGROUP_INFO_1数据结构的指针;
8. 探测组列表 NetQueryDisplayInformation(server,dwLevel,i,100,0xFFFFFFFF,&dwRec,(PVOID*)&pGBuf); //dwLevel的等级为3; //pGBuf返回NET_DISPLAY_GROUP的数据结构指针;
9. 探测组内的用户 NetGroupGetUsers(server,pGBuffer->grpi3_name,0,(PBYTE *)&pUBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume); //pGBuffer->grpi3_name为组的名称; //pUBuf返回GROUP_USERS_INFO_0数据结构的指针;
10.探测传输协议列表 NetServerTransportEnum(server,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume); //dwLevel的等级为0级; //pBuf返回SERVER_TRANSPORT_INFO_0数据结构的指针;
11.探测会话列表 NetSessionEnum(server,pszClient,pszUser,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume); //pszClient指定客户的地址; //pszUser指定用户名; //dwLevel的等级是10级; //pBuf返回SESSION_INFO_10数据结构的指针;
12.释放内存 NetApiBufferFree(pBuf); //释放由系统分配的内存空间。
三) 如何防止NetBIOS信息的泄露 我们可以安装防火墙来禁止空会话的建立,或者我们可以在网络连接属性里禁用TCP/IP上的NetBIOS,当然也可以在IP安全策略里禁用445/tcp端口来实现。只要空会话不能成功建立,那就很难获得上面提到的各项信息了。
四) 源代码
#define UNICODE #define _UNICODE
|