如何获取IP地址

runall 2009-03-07 04:18:35
有一台机器配置了多个网卡,我只知道其中一个IP地址,想通过这个IP地址获取其他的IP,代码怎么写?注意程序不是运行在那台配了多个网卡的机器,而是另外一台机器。
...全文
291 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
franksally 2009-05-06
  • 打赏
  • 举报
回复
还不结贴散分!
moyu0623 2009-05-01
  • 打赏
  • 举报
回复
要不要这么牛叉呢!呵呵
大川101 2009-04-25
  • 打赏
  • 举报
回复
学习
shiweifu 2009-04-24
  • 打赏
  • 举报
回复
学习
jackwade007 2009-04-24
  • 打赏
  • 举报
回复
了解了啊 ii
ddeng 2009-04-23
  • 打赏
  • 举报
回复
我把压箱底的都共享给你们啦!
//---------------------------------------------------------------------------
// 获取本机IP地址
// 一机可能配多个IP
// IPIndex>=0时为网卡序号,返回1表示获取成功,0表示失败,成功时IP地址保存在IP参数内
// IPIndex<0时仅用来返回本机所配置的IP数
int __fastcall GetLocalIP(char *IP, int IPIndex) {
WSADATA wsaData;
int err = WSAStartup(MAKEWORD( 2, 0 ), &wsaData);
if(err!=0) {
return 0;
}
char szhn[256];
int nStatus = gethostname(szhn, sizeof(szhn));
if(nStatus==SOCKET_ERROR) {
return 0;
}
HOSTENT *host = gethostbyname(szhn);
int nCount = IPIndex>=0 ? 1 : 0;
if (host!=NULL) {
for(int i=0; ; i++) {
if(IPIndex<0) {
nCount++;
}
else {
if(IPIndex==i) {
strcpy(IP, inet_ntoa(*(IN_ADDR *)host->h_addr_list[i]));
break;
}
}
if(host->h_addr_list[i]+host->h_length>=host->h_name) {
break;
}
}
}
WSACleanup();
return nCount;
}
ddeng 2009-04-23
  • 打赏
  • 举报
回复
我把压箱底的都共享给你们啦!
//---------------------------------------------------------------------------
// 获取本机IP地址
// 一机可能配多个IP
// IPIndex>=0时为网卡序号,返回1表示获取成功,0表示失败,成功时IP地址保存在IP参数内
// IPIndex<0时仅用来返回本机所配置的IP数
int __fastcall GetLocalIP(char *IP, int IPIndex) {
WSADATA wsaData;
int err = WSAStartup(MAKEWORD( 2, 0 ), &wsaData);
if(err!=0) {
return 0;
}
char szhn[256];
int nStatus = gethostname(szhn, sizeof(szhn));
if(nStatus==SOCKET_ERROR) {
return 0;
}
HOSTENT *host = gethostbyname(szhn);
int nCount = IPIndex>=0 ? 1 : 0;
if (host!=NULL) {
for(int i=0; ; i++) {
if(IPIndex<0) {
nCount++;
}
else {
if(IPIndex==i) {
strcpy(IP, inet_ntoa(*(IN_ADDR *)host->h_addr_list[i]));
break;
}
}
if(host->h_addr_list[i]+host->h_length>=host->h_name) {
break;
}
}
}
WSACleanup();
return nCount;
}
pp616 2009-04-23
  • 打赏
  • 举报
回复
可以在对方机器上跑程序那就很简单。在不在同一个网段也没关系
关键在你可以和暴露在外面的那一个IP通讯。
yt31109 2009-04-23
  • 打赏
  • 举报
回复
几位大哥能把具体的操作说明一下吗?
我也想学学
typer486 2009-04-23
  • 打赏
  • 举报
回复
这问题我现在刚好也遇到!
wesleyluo 2009-04-22
  • 打赏
  • 举报
回复
楼上的果然简单,既然可以装个程序,那就装返回ipconfig /all的信息程序吧,你这边接收就可以了。
甚至可以你这边控制发个消息,那边就返回。这样一来容易了。
jone7319 2009-04-22
  • 打赏
  • 举报
回复
在同一个网段就好办,利用API可以做到,如果不同网段就麻烦了!
  • 打赏
  • 举报
回复
[Quote=引用楼主 runall 的帖子:]
有一台机器配置了多个网卡,我只知道其中一个IP地址,想通过这个IP地址获取其他的IP,代码怎么写?注意程序不是运行在那台配了多个网卡的机器,而是另外一台机器。
[/Quote]

多个网卡,物理地址不一样,ip也不一样,让对方回ipconfig /all的信息给你吧。。。
xjq2003 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 GreensPan 的回复:]
在那台多IP的机上可以装一个软件吗?
[/Quote]
没有问题
telepan 2009-04-21
  • 打赏
  • 举报
回复
在那台多IP的机上可以装一个软件吗?
oyljerry 2009-03-07
  • 打赏
  • 举报
回复
需要对方机器支持可以查询所有的ip等,需要对方机器返回这个信息给你
xabcxyz 2009-03-07
  • 打赏
  • 举报
回复
关注
hemiya 2009-03-07
  • 打赏
  • 举报
回复
可大可小的问题,细想一下问题需要考虑的挺多。
1、远程访问注册表
2、都在一个网段还算简单点,可以用ping的思路,但不是光根据ip去判断,还要加上计算机名。
3、不在一个网段,不知道。
你要整黑客程序么???

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧