知道IP,怎么获得这个IP的MAC地址和这个IP的网关IP网关MAC地址和DNS IP地址以及DNS MAC地址?多谢!

解决方案 »

  1.   

    代码就不给你写了,说下思路
    知道IP的话,可以利用Runtime.getRuntime().exec(...),发送【ARP -s 目的主机的IP地址】,它会发送一条ARP指令并返回目的主机的地址信息,包括IP , MAC地址,然后流读取之后解析下就能得到了。
      

  2.   

    帅哥,多谢你的回复,但是我看了一下ARP -s inet_addr eth_addr, 这里 eth_addr也是我需要的其中之一啊,我需要这个IP的子网掩码,Mac Address
      

  3.   

    啊,真不好意思,笔误了=_=!!,应该是ARP -a 目的主机IP地址
    只要知道了IP地址就可以,比如
    [code=BatchFile]
    ARP -a 123.45.6.78
    [/code]
    这样就可以得到类似如下的反馈信息:
    [code=BatchFile]
    Interface: 123.45.6.78 on Interface 0x1000003
      Internet Address      Physical Address      Type
      123.45.6.78           00-0f-3d-cc-d3-2e     dynamic
    [/code]
    只要解析下这个就可以得到MAC(Physical Address)地址了
      

  4.   

    恩,这个我也看到了,那么剩下的呢,比如子网掩码,网关IP,网关子网掩码,网关Mac地址,DNS IP DNS子网掩码 DNS MAC 地址呢?
      

  5.   

    子网掩码向直接获取貌似是不太现实的,你肯定要通过IP地址判断A,B,C类地址,之后计算其子网掩码,大学时学过,具体的计算方法你找书看下,我也记不清楚了。
    剩下的问题就不是我能力范围了,呵呵,你另请教高人
      

  6.   

    hehe,兄台多谢了,如果再过两天没有人回复的话分就是你的,有人的话你至少也有一半分了。辛苦了!
      

  7.   

    这些命令不能跨越ruter 或者在局域网防火墙后面的
      

  8.   

    可不可以用snmp的方法实现呢?Java可以做到吗?
      

  9.   

    调用DOS 命令
    然后获取