<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í)行第二個命令  
                 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  目標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 目標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 目標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 午后星期午 閱讀(124) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 久久久久亚洲AV成人网人人网站 | 污污的视频在线免费观看| 亚洲AV永久无码精品一百度影院 | 亚洲www77777| 亚洲一区二区三区高清| 亚洲精品国产精品国自产观看| 国产香蕉九九久久精品免费| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲国产美女在线观看 | 又黄又大的激情视频在线观看免费视频社区在线 | 久久久久亚洲AV无码专区首| 亚洲偷自拍拍综合网| 在线A级毛片无码免费真人| 777爽死你无码免费看一二区| 国产又黄又爽胸又大免费视频| 国产精品亚洲综合网站| 亚洲中文字幕无码久久| 亚洲性一级理论片在线观看| 亚洲爱情岛论坛永久| 亚洲热妇无码AV在线播放| 亚洲福利精品一区二区三区| 日本免费v片一二三区| 女人18毛片免费观看| 大学生a级毛片免费观看| 国拍在线精品视频免费观看 | 黑人大战亚洲人精品一区| 久久久精品国产亚洲成人满18免费网站 | 最近中文字幕mv手机免费高清| 免费看h片的网站| 中文字幕在线免费| 最近的中文字幕大全免费8 | 精品亚洲成在人线AV无码| 亚洲区视频在线观看| 亚洲国产成人精品久久 | 国产桃色在线成免费视频| 综合在线免费视频| 丁香花免费完整高清观看| 无码一区二区三区AV免费| 好爽…又高潮了毛片免费看| 在线不卡免费视频| 四虎影视精品永久免费|