局域网的IP扫描
来源:互联网 发布:淘宝联盟上个月钱不见 编辑:程序博客网 时间:2024/04/27 20:50
#include <vcl.h>
#include <winsock2.h>
//---------------------------------------------------------------------------
bool GetLanIPAddress(TStrings *strings)
{
int originCount = strings->Count;
struct hostent *host;
struct in_addr *ptr;
DWORD dwScope = RESOURCE_CONTEXT;
HANDLE hEnum;
NETRESOURCE *netResource = NULL;
WSADATA wsaData;
int a, b, c, d;
WNetOpenEnum(dwScope, NULL, NULL, NULL, &hEnum);
WSAStartup(MAKEWORD(1,1), &wsaData);
if ( hEnum ) {
DWORD Count = 0xFFFFFFFF;
DWORD BufferSize = 2048;
LPVOID Buffer = new char[2048];
WNetEnumResource( hEnum, &Count, Buffer, &BufferSize );
netResource = (NETRESOURCE*)Buffer;
char szHostName[200];
unsigned int i;
for( i=0; i<BufferSize/sizeof(NETRESOURCE); i++, netResource++ )
if( netResource->dwUsage == RESOURCEUSAGE_CONTAINER &&
netResource->dwType == RESOURCETYPE_ANY ) {
if( netResource->lpRemoteName ) {
String strFullName = netResource->lpRemoteName;
if( strFullName.Pos("////") == 1 )
strFullName = strFullName.SubString(3,strFullName.Length()-2);
gethostname( szHostName, strlen(szHostName) );
host = gethostbyname(strFullName.c_str());
if( host == NULL)
continue;
ptr = (struct in_addr *)host->h_addr_list[0];
a = ptr->S_un.S_un_b.s_b1; //172
b = ptr->S_un.S_un_b.s_b2; //22
c = ptr->S_un.S_un_b.s_b3; //106
d = ptr->S_un.S_un_b.s_b4; //213
strings->Add(Format("%d.%d.%d.%d",ARRAYOFCONST((a,b,c,d))));
}
}
delete Buffer;
WNetCloseEnum( hEnum );
}
WSACleanup();
return(strings->Count > originCount);
}
//---------------------------------------------------------------------------
- 局域网的IP扫描
- [PythonCode]扫描局域网的alive ip地址
- 局域网IP、MAC、主机名扫描
- java 扫描局域网中的ip
- Shell脚本局域网IP扫描
- Android 扫描wifi局域网ip
- Python -- 扫描局域网活跃IP
- Android 扫描wifi局域网ip
- .Net中扫描局域网IP列表的几种方法
- .Net中扫描局域网IP列表的几种方法
- .Net中扫描局域网IP列表的几种方法
- c# 扫描局域网IP列表的几种方法
- ubuntu下如何扫描局域网下的ip地址
- iOS 扫描局域网内的所有IP地址
- C#实现局域网IP的扫描,从而打印出IP地址,主机名称和MAC地址
- 三种扫描局域网ip方案
- java 所线程扫描局域网ip
- python实现局域网ip地址扫描
- 互补的用例和特征
- javascript 用点滴 (二)
- 语义距离的经典文章:Fuzzy Semantic Distance Measures between Ontological Concepts!
- 小资料1
- 用单网卡连接两个网段
- 局域网的IP扫描
- Java花园里的蜂巢计划
- 将Hotmail升级到250M
- VSS使用手册
- [转贴]将小写金额转换为中文大写的SQL函数
- 层的精确定位和飘动.
- red hat 中ES、AS的区别
- commons-fileupload用户指南(文档翻译)
- Little Passages