怎样用mac地址取得ip地址?

解决方案 »

  1.   

    参考:http://blog.sina.com.cn/s/blog_4b3906920100j7yc.html
      

  2.   

    MAC是一个固定的物理地址,而IP是动态的,只有通过IP获取到MAC,如果要根据一个MAC反过来获取IP的话,除了遍历网段,获取到MAC,然后与本机MAC比较,如果相同,那么那个IP就是。不知道还有什么其它办法
      

  3.   

    广域上基本是无法的,内网只有比较。
    给一个思路,
    1. 先ping ip(整个网段),比如在cmd下执行ping 192.168.1.x;
    2.执行arp -a, 可以看到ip 跟mac对应的表,结果就是了。
      

  4.   

    struct uip_tcpip_hdr {
      /* IPv4 header. */
      u8_t vhl,
        tos,
        len[2],
        ipid[2],
        ipoffset[2],
        ttl,
        proto;
      u16_t ipchksum;
      u16_t srcipaddr[2],
        destipaddr[2];
     
      /* TCP header. */
      u16_t srcport,
        destport;
      u8_t seqno[4],
        ackno[4],
        tcpoffset,
        flags,
        wnd[2];
      u16_t tcpchksum;
      u8_t urgp[2];
      u8_t optdata[4];
    };  u16_t srcipaddr[2]: 源地址
        destipaddr[2]:   目的地址
    给已知的MAC地址发ICMP包,在收到的ICMP包中过滤掉只和你本机MAC地址相同的包所得到的srcipaddr[2]就是你想要的IP地址。