隨筆-86  評論-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!!

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

          ?

          方法二:

          可以用JS或vbscript來調(diào)用WMI接口來獲取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的詳細信息可以參看MSDN:
          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_tasks_for_scripts_and_applications.asp

          平心而論,WMI的很強大的。原先需要動用重量級編程工具才能做到的事,現(xiàn)在用js/vbscript就可以做了。

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

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

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

          方法三:

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

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

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

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

          ?

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

          評論:
          # Java系統(tǒng)如何獲取客戶端的MAC地址? [TrackBack] 2005-01-20 11:01 | eamoi
          Ping Back來自:blog.csdn.net
          [引用提示]eamoi引用了該文章, 地址: http://blog.csdn.net/eamoi/archive/2005/01/20/260611.aspx  回復(fù)  更多評論
            
          主站蜘蛛池模板: 宾阳县| 崇仁县| 东山县| 肥西县| 台东市| 汕头市| 大庆市| 丹巴县| 辽宁省| 德昌县| 容城县| 南平市| 天等县| 石河子市| 明水县| 樟树市| 丰都县| 临沧市| 昌都县| 志丹县| 三穗县| 绿春县| 吉隆县| 营山县| 靖西县| 休宁县| 元江| 白河县| 丰都县| 七台河市| 阿合奇县| 射洪县| 莱芜市| 汽车| 忻城县| 葵青区| 珠海市| 永靖县| 北安市| 泗水县| 红河县|