<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    輕松

    記述我學(xué)習(xí)java的里程

    常用鏈接

    統(tǒng)計

    積分與排名

    友情鏈接

    最新評論

    一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法

    最近在做老系統(tǒng)的CS到BS的改造。碰到一個需要獲取指定IP主機(jī)MAC地址的問題。實在沒有想出什么好辦法,只能通過DOS命令折中一下。壞處就是不能跨平臺了,哪位大俠知道怎么做純java的實現(xiàn)?一定指點我一下。
    package com.dayang.utils;

    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.LineNumberReader;

    /**
     * 網(wǎng)絡(luò)工具
     *
     * @author relax
     */
    public class NetworkUtil {

     /**
      * 根據(jù)指定IP獲取MAC地址
      * @param ip
      * @return
      */
     public static String getMACAddress(String ip) {
      String str;
      String macAddress = null;
      try {
       Process p = Runtime.getRuntime().exec("nbtstat -a " + ip);//執(zhí)行DOS命令
       InputStreamReader ir = new InputStreamReader(p.getInputStream());//獲取返回結(jié)果的流
       LineNumberReader input = new LineNumberReader(ir);
       //查找Mac地址
       for (int i = 1; i < 100; i++) {
        str = input.readLine();
        if (str != null) {
         if (str.contains("MAC Address")) {
          macAddress = str.substring(str.indexOf("= ")+2, str.length()).replace("-", "");
          break;
         }
        }
       }
       ir.close();
      } catch (IOException e) {
       e.printStackTrace();
      }
      return macAddress;
     }

     public static void main(String args[]) {
      System.err.println(getMACAddress("192.168.0.151"));
     }
    }

    posted on 2009-08-31 15:30 輕松 閱讀(2456) 評論(7)  編輯  收藏 所屬分類: 其他文章

    評論

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法 2009-09-01 09:49 lkj107

    如果對方能夠有防火墻,則得不到MAC地址  回復(fù)  更多評論   

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法 2009-09-01 11:07 隔葉黃鶯

    還有不光程序自身不能跨平臺,而且對方機(jī)器是非 Windows 平臺也獲取不到,再就跨路由通過 NAT 的應(yīng)該也不行。  回復(fù)  更多評論   

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法 2009-09-01 11:37 輕松

    各位不要光提毛病有沒有什么好的解決方案,給分享一下。  回復(fù)  更多評論   

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法 2009-09-02 10:30 會飛的豬

    不了解你的程序結(jié)構(gòu),要是可以的話,考慮一下服務(wù)器端主動向客戶端詢問其MAC地址,讓其給返回的方式呢?服務(wù)器用這種方式去獲取的話,那得寫出多個class文件,分別實現(xiàn)各個操作系統(tǒng)的,之后還要檢測操作系統(tǒng)是哪類,根據(jù)其去調(diào)用相應(yīng)的實體類才能做到通用,比較麻煩。(如果是B/S的話可以考慮嵌入一個不可見的applet來實現(xiàn))  回復(fù)  更多評論   

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法 2009-09-02 11:47 輕松

    客戶機(jī)現(xiàn)在主要就是windows操作系統(tǒng),按原CS程序的做法就是服務(wù)器直接獲取的。  回復(fù)  更多評論   

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法 2009-09-05 09:33 凌晨風(fēng)

    獲取遠(yuǎn)程主機(jī)有兩種思路:
    1. 發(fā)送命令模式
    2. UDP方式

    但是B/S模式一般需要跨平臺,當(dāng)然網(wǎng)上有一種使用js調(diào)用動態(tài)庫實現(xiàn),但是插件提示讓客戶很不滿意,我的做法是applet實現(xiàn)  回復(fù)  更多評論   

    # re: 一種折中的取得遠(yuǎn)程主機(jī)MAC地址的方法[未登錄] 2009-09-07 09:32 Diablo.Wu

    寫個applet,如果客戶機(jī)只是windows+ie,那就把你以前cs的東西封個active不就得了。  回復(fù)  更多評論   

    主站蜘蛛池模板: 精品亚洲国产成人av| 成人超污免费网站在线看| 国产精品无码亚洲一区二区三区| 国产aⅴ无码专区亚洲av| 国产大片线上免费看| 97碰公开在线观看免费视频| 丝瓜app免费下载网址进入ios| 亚洲av无码一区二区三区在线播放| 2022年亚洲午夜一区二区福利| 亚洲中文字幕成人在线| 国产视频精品免费| 免费AA片少妇人AA片直播| 国产成人久久AV免费| 中文字幕视频免费在线观看| 鲁啊鲁在线视频免费播放| 亚洲人成自拍网站在线观看| 亚洲成人福利在线| 亚洲A∨无码无在线观看| 亚洲伊人成无码综合网| 亚洲国产一成久久精品国产成人综合 | 亚洲午夜精品久久久久久人妖| 久久精品亚洲男人的天堂| 国产免费啪嗒啪嗒视频看看| 成人免费a级毛片| 成人免费午夜无码视频| 日本免费xxxx| 五月婷婷在线免费观看| 57pao一国产成视频永久免费 | 亚洲欧洲国产日韩精品| 亚洲成A人片在线观看无码不卡| 久久精品国产精品亚洲下载| 久久精品国产亚洲一区二区三区| 国产成人亚洲综合无码| 亚洲免费一区二区| 亚洲熟伦熟女新五十路熟妇| 国产成人亚洲精品影院| 国产亚洲精久久久久久无码| 亚洲国产精品无码久久久秋霞2 | 色妞www精品视频免费看| 美美女高清毛片视频黄的一免费| 免费人成视频在线观看免费|