社区
网络编程
帖子详情
一台做网关的机器上如何得到局域网中的每台机器IP列表
pisces007
2005-02-25 04:49:55
目的:得到局域网中的每台机器IP
方法:DWORD dwRet = GetAdaptersInfo((PIP_ADAPTER_INFO)&tempChar, &uListSize);
问题: 现在得到的是和连接网关的外网的IP,而不是内部的列表
如何能得到内网的IP列表??
...全文
202
21
打赏
收藏
一台做网关的机器上如何得到局域网中的每台机器IP列表
目的:得到局域网中的每台机器IP 方法:DWORD dwRet = GetAdaptersInfo((PIP_ADAPTER_INFO)&tempChar, &uListSize); 问题: 现在得到的是和连接网关的外网的IP,而不是内部的列表 如何能得到内网的IP列表??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coolmei25
2005-03-02
打赏
举报
回复
void CListNeighborDlg::OnOK()
{
GetDlgItem(IDOK)->EnableWindow(FALSE);
CStringArray list;
EnumHosts(list);
CListBox *pList = (CListBox *)GetDlgItem(IDC_LIST);
pList->ResetContent();
for(int i=0; i<list.GetSize(); i++)
{
pList->AddString(list.GetAt(i));
}
GetDlgItem(IDOK)->EnableWindow(TRUE);
// CDialog::OnOK();
}
void CListNeighborDlg::EnumHosts(CStringArray &list)
{
list.RemoveAll();
CString strTemp;
struct hostent *host;
struct in_addr *ptr;
DWORD dwScope = RESOURCE_CONTEXT;
NETRESOURCE *NetResource = NULL;
HANDLE hEnum;
WNetOpenEnum(dwScope, NULL, NULL, NULL, &hEnum);
WSADATA wsaData;
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];
for (unsigned int i=0; i<BufferSize/sizeof(NETRESOURCE); i++, NetResource++)
{
if (NetResource->dwUsage == RESOURCEUSAGE_CONTAINER && NetResource->dwType == RESOURCETYPE_ANY)
{
if (NetResource->lpRemoteName)
{
CString strFullName = NetResource->lpRemoteName;
if (0 == strFullName.Left(2).Compare("\\\\"))
strFullName = strFullName.Right(strFullName.GetLength() - 2);
gethostname(szHostName, strlen(szHostName));
host = gethostbyname(strFullName);
if (host == NULL) continue;
ptr = (struct in_addr *)host->h_addr_list[0];
int a = ptr->S_un.S_un_b.s_b1;
int b = ptr->S_un.S_un_b.s_b2;
int c = ptr->S_un.S_un_b.s_b3;
int d = ptr->S_un.S_un_b.s_b4;
strTemp.Format("%s --> %d.%d.%d.%d", strFullName, a,b,c,d);
list.Add(strTemp);
}
}
}
delete Buffer;
WNetCloseEnum(hEnum);
}
WSACleanup();
}
coolmei25
2005-03-02
打赏
举报
回复
http://www.pcvc.net/category/content.asp?sendid=229
coolmei25
2005-03-02
打赏
举报
回复
不知道,看书上说是要调用NetApi32.dll
在网上查把!
pisces007
2005-03-02
打赏
举报
回复
果然好用,
想得到Mac地址用哪一个函数?
多谢!!
月吻长河
2005-03-01
打赏
举报
回复
都是通过广播的方式实现的。把你的网关的整个网段IP地址逐个广播一遍。
pisces007
2005-03-01
打赏
举报
回复
好的,谢谢
coolmei25
2005-03-01
打赏
举报
回复
要是你试不行,我可以帮你做个例子,可我现在没时间,要下午或明天
coolmei25
2005-03-01
打赏
举报
回复
试一下把。一定可以得到的。
pisces007
2005-03-01
打赏
举报
回复
to coolmei25(梅生)
这样能得到局域网中所有机器的ip吗?
coolmei25
2005-03-01
打赏
举报
回复
先用WnetEnumResource 对网络资源进行枚举。
再用Gethostname获得主机名
再用Gethostbyname得到相关数据,可以从中得到IP地址。
用这些东西要先调用WSAStartup函数, 枚举完了用WnetCloseEnum结束,最后调用WSAClearup结束调用Winsock.dll
pisces007
2005-03-01
打赏
举报
回复
晕阿,到底如何ARP广播?
ruby0602
2005-02-28
打赏
举报
回复
ARP广播快点
gzqreder
2005-02-28
打赏
举报
回复
mark,向高人学习
pisces007
2005-02-28
打赏
举报
回复
如何用arp广播???
pisces007
2005-02-26
打赏
举报
回复
to _xiao(小小)
我就是读arp表得出的外网的IP,而不是内网的
to huangxiaoke2000(小小)
如何用arp广播?
huangxiaoke2000
2005-02-26
打赏
举报
回复
arp广播一下
_xiao
2005-02-26
打赏
举报
回复
读arp表
pisces007
2005-02-25
打赏
举报
回复
to orbit(吹泡泡的小猫)
寒!这个太慢了
吹泡泡的小猫
2005-02-25
打赏
举报
回复
有个傻方法,把这个网段的所有ip ping一遍
xuzheng318
2005-02-25
打赏
举报
回复
帮楼主顶!关注!
加载更多回复(1)
网关
、路由器、
局域网
、广域网
网关
、路由器、
局域网
、广域网 ...
局域网
就是内网,而内网就是
局域网
,一个学校,一个单位就是一个
局域网
,在同一个
局域网
中
,所有的
ip
都是不一样的,但是在两个不同的
局域网
中
,
ip
地址可以一样, 使用
ip
config
局域网
某pc机
ip
设成
网关
ip
解决方法
http://www.netexpert.cn/thread-6093-1-1.html
局域网
某pc机
ip
设成
网关
ip
解决方法如何尽快发现错将
IP
设成
网关
IP
的电脑在公司的内网上,经常有电脑将自己的
IP
错设成
网关
的
IP
,导致该网段的其他用户无法访问其他网段的...
配置
局域网
网关
实验室搭建服务器集群,需要建立
局域网
,原有
网关
设备因故障不能...内网
IP
:是在
网关
ip
段内的
局域网
ip
地址,常见的
做
法是将
网关
设置为10.0.0.1,则对应的内网
ip
形式是10.0.XXX.XXX. 或者将
网关
设置为192.168.1.1,则
一台
计算机要两个内网,
局域网
如何在
一台
电脑上设置两个
IP
地址
下面是学习啦小编收集整理的
局域网
如何在
一台
电脑上设置两个
IP
地址,希望对大家有帮助~~
局域网
在
一台
电脑上设置两个
IP
地址的方法工具/原料电脑互联网方法/步骤1 直接用宽带上网,是不需要设置
IP
地址的,一般都是动态...
局域网
下怎样访问另
一台
电脑的服务
同一个
局域网
下,这边电脑A的java程序需要调用另
一台
电脑上B的C#程序的打印服务。 实现 首先两台电脑要确保在同一个
局域网
下。 连接同一个无线,或者同一个
局域网
下的两根网线。 电脑B打开cmd,输入
ip
config。 ...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章