vc_king
驱动牛犊
驱动牛犊
  • 注册日期2002-10-19
  • 最后登录2008-11-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2725回复:13

请问,不写驱动,用编程的方式想得到局域网内各计算机的MAC及IP地址,该怎么做???

楼主#
更多 发布于:2003-01-28 22:07
请问,不写驱动,用编程的方式想得到局域网内各计算机的MAC及IP地址,该怎么做???
shangri-La
驱动牛犊
驱动牛犊
  • 注册日期2003-01-23
  • 最后登录2003-01-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-29 13:41
获取MAC地址我不太清楚,但肯定可以获取IP地址。具体可查看MSDN里的gethostbyname函数。
龙虎山人
sevenyears_2003
驱动牛犊
驱动牛犊
  • 注册日期2003-01-24
  • 最后登录2003-02-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-30 22:59
发arp包进行轮询,iphlp api里面有个函数arpsend(sendarp?)
vc_king
驱动牛犊
驱动牛犊
  • 注册日期2002-10-19
  • 最后登录2008-11-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-09 11:21
请问楼上的那为兄台,IPHLP的资料哪里可以得到?
除了这种方法,还有其他的吗?
mail_csj
驱动牛犊
驱动牛犊
  • 注册日期2002-12-02
  • 最后登录2003-02-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-27 10:47
多少分(绝对可以解决你的问题)?
kaput
驱动中牛
驱动中牛
  • 注册日期2002-06-26
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-27 19:32
SendArp下面的一个例子
稍微改了一下

#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iphlpapi.h>
#include \"Winsock2.h\"
//
// Link with ws2_32.lib and iphlpapi.lib
//

int main(int argc, char* argv[])
{
    HRESULT hr;
    IPAddr  ipAddr;
    ULONG   pulMac[2];
    ULONG   ulLen;
    size_t i, j;
    char * szMac=new char[6*3];
PBYTE pbHexMac;

char addr_str[60];
for(int n=1;n<255;n++){
sprintf(addr_str,\"192.168.5.%d\",n);
   ipAddr = inet_addr(addr_str);
   memset (pulMac, 0xff, sizeof (pulMac));
   ulLen = 6;
    
   hr = SendARP (ipAddr, 0, pulMac, &ulLen);
 //   printf (\"Return %08x, length %8d\\n\", hr, ulLen);
    
if(hr==NO_ERROR){
pbHexMac = (PBYTE) pulMac;

    //
    // Convert the binary MAC address into human-readable
    //
   for (i = 0, j = 0; i < ulLen - 1; ++i) {
j += sprintf (szMac + j, \"%02X:\", pbHexMac);
}
    
  sprintf (szMac + j, \"%02X\", pbHexMac);
  printf (\"IP=%s   MAC address=%s\\n\", addr_str,szMac);
}
  }
  delete [] szMac;
return 0;

}


2个lib文件在sdk目录下都有

天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉......
vc_king
驱动牛犊
驱动牛犊
  • 注册日期2002-10-19
  • 最后登录2008-11-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-02-28 09:47
谢谢kaput了,我已经在一个月以前找到了更简单的解决办法,E文里面确实太不可思议了,我建议大家多看看E文咯,呵呵。。。 :D :D :D
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-03-02 17:58
嘿嘿是吗?还没听说过,有更简单的,可以取整个局域网的mac,可以发来看看吗?
取自己的mac倒是有更简单的
而且Arpsend一个函数就搞定,还有用半个函数就可以取得mac的?
难道还用snmp.mibii?
Be a true hacker of Windows NT alike
nicol
驱动大牛
驱动大牛
  • 注册日期2001-11-28
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-03-03 16:04
建议发ARP

前几天想过一个简单的自适应IP方法。
程序随便抓个ARP。然后得到该网络的大致网络结构。
然后轮询。然后给自己自动设定一个没冲突的IP地址。

还没想好在木马里怎么用。
==寂寞骆驼==
lzwf4
驱动小牛
驱动小牛
  • 注册日期2002-10-10
  • 最后登录2006-06-09
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-03-03 19:23
谢谢kaput了,我已经在一个月以前找到了更简单的解决办法,E文里面确实太不可思议了,我建议大家多看看E文咯,呵呵。。。 :D :D :D


能粘出让大家开开眼界吗?
vc_king
驱动牛犊
驱动牛犊
  • 注册日期2002-10-19
  • 最后登录2008-11-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-03-04 20:20
小弟不才,大伙可了解下端口137哟, :D :D :D
至于那串数据,我也是通过NetXRay抓包得到的。
alan2u
驱动巨牛
驱动巨牛
  • 注册日期2001-12-11
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分5926分
  • 威望43813点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2003-03-05 09:12
请问,不写驱动,用编程的方式想得到局域网内各计算机的MAC及IP地址,该怎么做???


在应用层获得Mac包可采用原始socket(Raw Socket),你可以参考《Windows网络编程》一书或到google上搜一下相关资料,很简单。

利用原始socket可以在应用层作一个sniffer了
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-03-06 18:12
137,135仍然是netbios通讯,
win2000以上改变了这种通讯方式
但我不相信这比sendarp更简单
Be a true hacker of Windows NT alike
vc_king
驱动牛犊
驱动牛犊
  • 注册日期2002-10-19
  • 最后登录2008-11-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-03-08 19:57
ooze说的一点也没错,不知98下如何呢,我最早就用的此方法,就是不行,能否给我一份98下能运行的code,小弟在这儿先谢了!
游客

返回顶部