隨筆-86  評(píng)論-767  文章-3  trackbacks-3

          方法一:

          調(diào)用Windows的DOS命令,從輸出結(jié)果中讀取MAC地址:

          public static String getMACAddress() {

          String address = "";
          String os = System.getProperty("os.name");
          if ( os != null && os.startsWith("Windows")) {
          try {
          String command = "cmd.exe /c ipconfig /all";
          Process p = Runtime.getRuntime().exec(command);
          BufferedReader br =
          new BufferedReader(
          new InputStreamReader(p.getInputStream()));
          String line;
          while ((line = br.readLine()) != null) {
          if (line.indexOf("Physical Address") > 0) {
          int index = line.indexOf(":");
          index += 2;
          address = line.substring(index);
          break;
          }
          }
          br.close();
          return address.trim();
          }
          catch (IOException e) { }
          }
          return address;
          }

          We can replace the "ipconfig" to "ping x.x.x.x" and "arp -a"...We can get the mac list...haha!!

          缺點(diǎn):只能取得服務(wù)器端MAC地址.如果要取得客戶端的MAC地址,需用Applet.只針對(duì)MS-WIN系統(tǒng).

          ?

          方法二:

          可以用JS或vbscript來(lái)調(diào)用WMI接口來(lái)獲取Client端的MAC地址.


          ?
          ?WMI Scripting HTML
          ?
          ?
          ?
          ?
          ?
          ??
          ??

          ??
          ??

          ??


          ??

          ???
          ???
          ???

          ??


          ?

          忘了附上原文的出處了:
          How to get IP address of the browser when its operating behind a proxy/firewall? (applets...activex....??)
          http://www.faqts.com/knowledge_base/view.phtml/aid/9005/fid/125

          關(guān)于WMI的詳細(xì)信息可以參看MSDN:
          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_tasks_for_scripts_and_applications.asp

          平心而論,WMI的很強(qiáng)大的。原先需要?jiǎng)佑弥亓考?jí)編程工具才能做到的事,現(xiàn)在用js/vbscript就可以做了。

          獲取多塊網(wǎng)卡的MAC地址:

          if(objObject.MACAddress != null && objObject.MACAddress != "undefined"){
          ???????????????????????? MACAddr = objObject.MACAddress;
          ???????????????????????? alert( MACAddr );
          ?????????????????? }

          缺點(diǎn):需要ActiveX支持.對(duì)MS-WIN系統(tǒng)有效.

          方法三:

          想137口發(fā)送UDP查詢:

          WINDOWS平臺(tái)的客戶端(當(dāng)獲取時(shí)它轉(zhuǎn)換為服務(wù)端角色),NETBIOS協(xié)議在137口上,我們只要向它的137口發(fā)送UDP查詢,獲取它的返回值就可以獲取到它所有的網(wǎng)卡地址.

          以上內(nèi)容來(lái)自dev2dev的討論帖:

          http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=12941&tstart=0

          ?

          posted on 2005-01-20 08:50 eamoi 閱讀(5188) 評(píng)論(1)  編輯  收藏 所屬分類: Java

          評(píng)論:
          # Java系統(tǒng)如何獲取客戶端的MAC地址? [TrackBack] 2005-01-20 11:01 | eamoi
          Ping Back來(lái)自:blog.csdn.net
          [引用提示]eamoi引用了該文章, 地址: http://blog.csdn.net/eamoi/archive/2005/01/20/260611.aspx  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 潞西市| 汉川市| 井冈山市| 西藏| 林周县| 鹰潭市| 黄平县| 新闻| 周口市| 嘉峪关市| 广安市| 任丘市| 昭平县| 东城区| 板桥市| 兴安盟| 济源市| 高青县| 广丰县| 鹤山市| 青州市| 奉新县| 二连浩特市| 渑池县| 福建省| 盘山县| 安塞县| 栾川县| 明溪县| 泽普县| 云阳县| 唐河县| 麻江县| 永泰县| 晋宁县| 墨玉县| 泗水县| 奉节县| 监利县| 伊吾县| 纳雍县|