用jsp+Servlet做的登录功能,希望能在用户登陆成功后,将客户端的ip及mac地址送至服务器端保存,如何获取呢?请高手指教一二……

解决方案 »

  1.   

    在ServletRequest中可以用:
    getRemoteAddr()方法得到用户IP地址
    getRemoteHost()方法得到用户IP地址的DNS解析。
    getRemotePort()方法得到用户传输层的端口在服务器上得到MAC地址是不可能的,因为MAC地址是在OSI模型的两二层,TCP/IP在第三层,所以无法得到。只有在本地机器上写网络程序时能拿到MAC address:NetworkInterface ni = NetworkInterface.getByInetAddress(address);
    mac = ni.getHardwareAddress();
      

  2.   

    忘说了,那个得到MAC地址的方法要求JDK6以上。
      

  3.   

    getRemoteHost()方法得到用户IP地址的DNS解析。还是???getRemoteHost():获得客户端主机的名字,若失败,则返回客户端电脑的IP地址。
      

  4.   


    6楼对getRemoteHost()方法的解释更准确。
      

  5.   


    能行!就是总有安全提示!jsp获得Ip地址,也有局限。代理上网。虚拟路径转化!!估计LS说的够你用了吧!
      

  6.   

    要不,楼主把用户的登录框用Flash代替把,用flash界面登录可以获得客户端的MAC地址。
    一楼兄弟说得很对。单纯的Http交互时不可能得到客户端的MAC地址信息的。
      

  7.   

    普通B/S程序拿不到MAC地址,如果装客户端插件可以!