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

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

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

    午后星期午

    通過java獲取mac地址

    package  cc.wshao.util;

    import  java.io.BufferedReader;
    import  java.io.InputStreamReader;
    import  java.util.regex.Matcher;
    import  java.util.regex.Pattern;

    public   class  GetMacAddress {
         
         
    public   static  String callCmd(String[] cmd) {  
             String result 
    =   "" ;  
             String line 
    =   "" ;  
             
    try  {  
                 Process proc 
    =  Runtime.getRuntime().exec(cmd);  
                 InputStreamReader is 
    =   new  InputStreamReader(proc.getInputStream());  
                 BufferedReader br 
    =   new  BufferedReader (is);  
                 
    while  ((line  =  br.readLine ())  !=   null ) {  
                 result 
    +=  line;  
                 }  
             }  
             
    catch (Exception e) {  
                 e.printStackTrace();  
             }  
             
    return  result;  
         }
         
         
         
         
         
    /**  
          * 
          * 
    @param  cmd  第一個命令 
          * 
    @param  another 第二個命令 
          * 
    @return    第二個命令的執(zhí)行結(jié)果 
          
    */   
         
    public   static  String callCmd(String[] cmd,String[] another) {  
             String result 
    =   "" ;  
             String line 
    =   "" ;  
             
    try  {  
                 Runtime rt 
    =  Runtime.getRuntime();  
                 Process proc 
    =  rt.exec(cmd);  
                 proc.waitFor();  
    // 已經(jīng)執(zhí)行完第一個命令,準(zhǔn)備執(zhí)行第二個命令  
                 proc  =  rt.exec(another);  
                 InputStreamReader is 
    =   new  InputStreamReader(proc.getInputStream());  
                 BufferedReader br 
    =   new  BufferedReader (is);  
                 
    while  ((line  =  br.readLine ())  !=   null ) {  
                     result 
    +=  line;  
                 }  
             }  
             
    catch (Exception e) {  
                 e.printStackTrace();  
             }  
             
    return  result;  
         }
         
         
         
         
    /**  
          * 
          * 
    @param  ip  目標(biāo)ip,一般在局域網(wǎng)內(nèi) 
          * 
    @param  sourceString 命令處理的結(jié)果字符串 
          * 
    @param  macSeparator mac分隔符號 
          * 
    @return   mac地址,用上面的分隔符號表示 
          
    */   
         
    public   static  String filterMacAddress( final  String ip,  final  String sourceString, final  String macSeparator) {  
             String result 
    =   "" ;  
             String regExp 
    =   " ((([0-9,A-F,a-f]{1,2} "   +  macSeparator  +   " ){1,5})[0-9,A-F,a-f]{1,2}) " ;  
             Pattern pattern 
    =  Pattern.compile(regExp);  
             Matcher matcher 
    =  pattern.matcher(sourceString);  
             
    while (matcher.find()){  
                 result 
    =  matcher.group( 1 );  
                 
    if (sourceString.indexOf(ip)  <=  sourceString.lastIndexOf(matcher.group( 1 ))) {  
                     
    break ;   // 如果有多個IP,只匹配本IP對應(yīng)的Mac.  
                 }  
             }
       
             
    return  result;  
         }
         
         
         
         
    /**  
          * 
          * 
    @param  ip 目標(biāo)ip 
          * 
    @return    Mac Address 
          * 
          
    */   
         
    public   static  String getMacInWindows( final  String ip){  
             String result 
    =   "" ;  
             String[] cmd 
    =  {  
                     
    " cmd " ,  
                     
    " /c " ,  
                     
    " ping  "   +   ip  
                     };  
             String[] another 
    =  {  
                     
    " cmd " ,  
                     
    " /c " ,  
                     
    " arp -a "   
                     };  
       
             String cmdResult 
    =  callCmd(cmd,another);  
             result 
    =  filterMacAddress(ip,cmdResult, " - " );  
       
             
    return  result;  
         }  
       
       
         
    /**  
         * 
         * 
    @param  ip 目標(biāo)ip 
         * 
    @return    Mac Address 
         * 
         
    */   
         
    public   static  String getMacInLinux( final  String ip){  
             String result 
    =   "" ;  
             String[] cmd 
    =  {  
                     
    " /bin/sh " ,  
                     
    " -c " ,  
                     
    " ping  "   +   ip  +   "  -c 2 && arp -a "   
                     };  
             String cmdResult 
    =  callCmd(cmd);  
             result 
    =  filterMacAddress(ip,cmdResult, " : " );  
       
             
    return  result;  
         }  
         
         
    /**
          * 獲取MAC地址 
          * 
    @return  返回MAC地址
          
    */
         
    public   static  String getMacAddress(String ip){
             String macAddress 
    =   "" ;
             macAddress 
    =  getMacInWindows(ip).trim();
             
    if (macAddress == null || "" .equals(macAddress)){
                 macAddress 
    =  getMacInLinux(ip).trim();
             }
             
    return  macAddress;
         }
       
         
    /**  
         * 測試 
         
    */   
         
    public   static   void  main(String[] args) {           
             System.out.println(getMacAddress(
    " 192.168.10.203 " ));
         }
         

    }

    posted on 2013-12-31 13:58 午后星期午 閱讀(130) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 亚洲日本中文字幕一区二区三区| 国产午夜免费秋霞影院| 亚洲日韩av无码| eeuss草民免费| 亚洲综合区小说区激情区| 瑟瑟网站免费网站入口| www亚洲精品少妇裸乳一区二区| 日韩色视频一区二区三区亚洲| 免费国产在线观看| 亚洲乱码精品久久久久..| 精品亚洲成在人线AV无码| 野花高清在线电影观看免费视频| 亚洲另类自拍丝袜第1页| 永久免费AV无码国产网站| 亚洲Av永久无码精品黑人| 午夜高清免费在线观看| 国产亚洲欧美在线观看| 2048亚洲精品国产| 精品视频一区二区三区免费| 久久久无码精品亚洲日韩京东传媒 | 99re这里有免费视频精品| 亚洲第一精品电影网| 毛色毛片免费观看| 特级毛片免费播放| 亚洲AV永久无码精品成人| 日本高清在线免费| 国产精品自拍亚洲| 久久亚洲国产欧洲精品一| 麻豆视频免费观看| 色www免费视频| 亚洲AV日韩AV永久无码下载| 四虎精品成人免费视频| 亚洲精品乱码久久久久久久久久久久| 全免费a级毛片免费看| 久久亚洲精品国产亚洲老地址 | 久久一区二区三区免费播放| 亚洲免费视频观看| 亚洲精品A在线观看| 3344永久在线观看视频免费首页 | 一道本在线免费视频| 亚洲伊人tv综合网色|