日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java如何在命令行中獲取指定數據

瀏覽:29日期:2022-08-27 18:00:09

1.執行ipconfig /all獲取主機所有網卡信息

并分析這些字符串,提取出有效網卡(網卡名稱,mac地址,ipv4地址,掩碼,網關,dns)

將網卡插入HashMap中,key是網卡的名稱,value是網卡對象(包含mac和4個邏輯地址)

請輸入網卡的名稱,程序通過map的get方法取出此名稱對應的網卡對象

根據網卡對象執行其方法getNetId()取出其網卡所在網絡號進行打印

getBroadId()取出其廣播號進行打印

2.根據網卡的ip和掩碼掃描所有這個子網中可能存在的鄰居

然后用ping ..方式進行驗證此鄰居是否存在,如果存在則將其加入

網卡的鄰居集合(HashSet)中

3.某些鄰居有可能開啟防火墻導致ping失敗,所以驗證其是否存在的

恰當方式是先ping它一下,然后用arp -a查看這個鄰居是否有arp回應

如果存在arp條目則說明這個鄰居是存在的.

代碼實例

package day2020072501;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.HashMap;import java.util.HashSet;import java.util.Scanner;import java.util.Set;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Zzbds { public static String exeCmd(String commandStr) { BufferedReader br = null; try { Process p = Runtime.getRuntime().exec(commandStr); br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = null; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) {sb.append(line + 'n'); } // System.out.println(sb.toString()); return sb.toString(); } catch (Exception e) { e.printStackTrace(); } finally { if (br != null) {try { br.close();} catch (Exception e) { e.printStackTrace();} } } return commandStr; } public static void main(String[] args) { String str = exeCmd('ipconfig /all'); String expr = '(.+適配器 +.+):'; // 找到所有網卡名字 HashMap<NetInfo, String> mp = new HashMap<>(); // HashMap存儲信息 Pattern pt = Pattern.compile(expr); // 配對 P,和正則匹配 Matcher mt = pt.matcher(str); // 開始匹配源字符串 matcher System.out.println('n=========================='); int MacIndex = 0;// 記錄網卡 while (mt.find()) { MacIndex++; System.out.println(mt.group(1)); } System.out.println('n共' + MacIndex + '個網卡'); if (MacIndex == 0) { System.out.println('沒有網卡'); return; } System.out.println('n=========================='); Matcher mt1 = pt.matcher(str); // 開始匹配源字符串 matcher // System.out.println('可用網卡'); int MacUse = 0;// 可以使用的網卡數量 String[] MacArr = new String[10];// 存儲網卡數組(可用網卡) while (mt1.find()) { // 循環遍歷所有網卡 // 判斷是否可用 if (NetWorkUtil.NetWorkavailable(mt1.group())) {MacArr[MacUse] = mt1.group();MacUse++;// System.out.println(mt1.group()); } } for (int i = 0; i < MacUse; i++) { System.out.println(MacArr[i]); } System.out.println('n可用網卡共:' + MacUse + '個'); System.out.println('n==========================n'); // System.out.println('------------------------------------'); // 打印出可用的網卡信息 for (int j = 0; j < MacUse; j++) { // 使用(數組)循環,打印所有可用網卡的所有信息 String MacInfo = '';// 可用的網卡信息 String expr1 = '(' + MacArr[j] + '([dD]*))'; System.out.println('n第' + (j + 1) + '個是:' + MacArr[j]); Pattern pt1 = Pattern.compile(expr1); Matcher mt2 = pt1.matcher(str); if (mt2.find()) {MacInfo = mt2.group(1);// 把查到的信息賦給變量MaxInfo } // System.out.println(MacInfo); System.out.println('---------------------可用網卡的具體信息如下(第' + (j + 1) + '個網卡)----------------'); Pattern pt2 = Pattern.compile(' +描述(. +)+: (.*)'); Matcher mt3 = pt2.matcher(MacInfo);// 網卡名 Pattern pt3 = Pattern.compile(' +物理地址(. +)+: (.*)'); Matcher mt4 = pt3.matcher(MacInfo);// 網卡地址 Pattern pt5 = Pattern.compile(' +IPv4 地址( +.)+ +: +(.*)('); Matcher mt5 = pt5.matcher(MacInfo);// IP地址 Pattern pt6 = Pattern.compile(' +子網掩碼( +.)+ +: +(.*)'); Matcher mt6 = pt6.matcher(MacInfo);// 子網掩碼 Pattern pt7 = Pattern.compile(' +默認網關(. +)+: (.*)'); Matcher mt7 = pt7.matcher(MacInfo);// 網關 Pattern pt8 = Pattern.compile(' +DNS 服務器( +.)+ +: +(.*)'); Matcher mt8 = pt8.matcher(MacInfo);// DNS String MacName = ''; String MacIP = ''; String IPV4 = ''; String NetMask = ''; String GateWay = ''; String DNS = ''; if (mt3.find() && mt4.find() && mt5.find() && mt6.find() && mt7.find() && mt8.find()) {MacName = mt3.group(2);MacIP = mt4.group(2);IPV4 = mt5.group(2);NetMask = mt6.group(2);GateWay = mt7.group(2);DNS = mt8.group(2);mp.put(new NetInfo(MacName,MacIP, IPV4, NetMask, GateWay, DNS), MacName); } System.out.println('網卡名稱:' + MacName.trim()); System.out.println('網卡地址:' + MacIP.trim()); System.out.println('IPV4地址:' + IPV4.trim()); System.out.println('子網掩碼:' + NetMask.trim()); System.out.println('默認網關:' + GateWay.trim()); System.out.println('DNS地址:' + DNS.trim()); } System.out.println('n=====================使用HashMap遍歷輸出==========================='); for (NetInfo h : mp.keySet()) { System.out.println('n網卡名字:' + mp.get(h) + 'n' + h); System.out.println('n-------------'); } System.out.println('======================'); System.out.println('請輸入網卡名:'); //String inputMacName = new Scanner(System.in).next();//輸入網卡名稱 //默認輸入:VMware Virtual Ethernet Adapter for VMnet8 String NetId = '';//記錄IP String inputMacName ='VMware Virtual Ethernet Adapter for VMnet8'; System.out.println('您輸入的是:'+inputMacName); for (NetInfo h : mp.keySet()) { if((h.getMacName().trim()).equals(inputMacName)){System.out.println('n網卡名字:' + mp.get(h) + 'n' + h);NetId = h.getIPV4();System.out.println('nIP:'+NetId); //打印出此IP(后面求出網絡號、廣播號) } } //分解數組 String []netIPArr = NetId.split('.'); for(int i= 0;i<netIPArr.length;i++){ System.out.println(netIPArr[i]); } //求網絡號: System.out.println('網絡號:'+netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+0); System.out.println('廣播號:'+netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+255); //訪問所有鄰居 HashSet<String> nei = new HashSet<>();//存儲所有可達的鄰居 for(int i= 1;i<5;i++){ String str1 = exeCmd('ping '+netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+i); System.out.println(str1); //判斷是否Ping 通 Pattern pt9 = Pattern.compile('TTL'); Matcher mt9 = pt9.matcher(str1); if (mt9.find()){//如果能ping 通,直接加入到set集合內//System.out.println(netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+i);nei.add(netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+i);//存儲 }else{//如果ping 不同,使用arp 查看回應String str2 = exeCmd('arp -a');Pattern pt10 = Pattern.compile(netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+i);Matcher mt10 = pt10.matcher(str2);if (mt10.find()){//如果arp 返回數據,也加入到set集合內 nei.add(netIPArr[0]+'.'+netIPArr[1]+'.'+netIPArr[2]+'.'+i);//存儲} } } //輸出所有可達的鄰居 System.out.println('所有可達的鄰居:'); for(String s : nei){ System.out.println(s); } }}

Java如何在命令行中獲取指定數據

Java如何在命令行中獲取指定數據

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区三区自拍| 亚洲va中文在线播放免费| 日韩毛片一区| 国产精品美女在线观看直播| 国产精品二区不卡| 欧美日韩国产免费观看| 深夜福利一区| 欧美激情五月| 亚洲一本视频| 日韩av一区二区三区| 黑人精品一区| 亚洲伊人精品酒店| 麻豆国产91在线播放| 深夜福利视频一区二区| 欧美在线综合| 美女视频网站久久| 免费观看不卡av| 国产日产精品一区二区三区四区的观看方式| 老司机精品视频网| 夜久久久久久| 麻豆精品少妇| 石原莉奈一区二区三区在线观看| 国产精品入口久久| 国产一区清纯| 国产精品免费不| 国产精品毛片| 久久精品亚洲| 伊人国产精品| 国产一区二区三区精品在线观看| 在线视频精品| 国产成人精品福利| 亚洲婷婷丁香| 视频小说一区二区| 欧美日韩18| 欧美午夜不卡影院在线观看完整版免费| 欧美日韩一视频区二区| 蜜桃视频欧美| 国产精品99久久免费| aⅴ色国产欧美| 精品免费视频| 亚洲精品影视| 亚洲午夜在线| 国产一区一一区高清不卡| 午夜一区在线| 亚洲最新无码中文字幕久久| 亚洲精品在线a| 欧美日韩国产高清电影| 六月丁香综合在线视频| 五月国产精品| 婷婷亚洲综合| 国产精品yjizz视频网| 91亚洲精品在看在线观看高清| 五月天久久777| 国产精品精品| 欧美黄色一区| 日韩avvvv在线播放| 国产精品三上| 欧美丝袜一区| 久久精品五月| 国产美女久久| 四虎精品一区二区免费| 欧美精品一区二区三区精品| 涩涩av在线| 成人国产精品一区二区网站| 国产欧美日韩一区二区三区四区 | 国产成人精品一区二区三区免费| 日韩高清二区| 免费视频一区二区| 亚洲福利免费| 综合日韩av| 久久精品一区二区三区中文字幕| 日韩和欧美一区二区三区| 99国产成+人+综合+亚洲欧美| 久久久精品网| 中文在线а√天堂 | av资源中文在线天堂| 久久av中文| 国产精品日本一区二区三区在线| 日韩1区2区3区| 亚洲精品乱码日韩| 天使萌一区二区三区免费观看| 国产精品久久久久av电视剧| 91亚洲一区| 精品亚洲a∨| 久久香蕉网站| 国产一区二区三区成人欧美日韩在线观看 | 亚洲一级大片| 中文视频一区| 香蕉久久久久久| 日韩一区二区三免费高清在线观看 | 中文亚洲欧美| 在线亚洲免费| 亚洲欧美激情诱惑| 国产农村妇女精品一二区| 久久久成人网| 91tv亚洲精品香蕉国产一区| 亚洲日本网址| 日本少妇一区| 婷婷成人在线| 午夜日韩福利| 欧美资源在线| 亚洲乱亚洲高清| 欧美日韩a区| 国产精品久久久久久久久久齐齐 | 久久精品国产一区二区| 久久精品国产网站| 四虎成人av| 视频小说一区二区| 亚洲欧洲另类| 亚洲精品动态| 国产伦理一区| 欧美www视频在线观看| 日韩高清不卡| 亚洲国产一区二区在线观看| 午夜在线观看免费一区| 亚洲91在线| 欧美亚洲色图校园春色| 国产精品一区二区三区四区在线观看 | 老司机精品视频网| 欧美三级精品| 性欧美长视频| 国产欧美自拍| 裤袜国产欧美精品一区| 日韩视频免费| 日韩av成人高清| 国产一区二区三区网| 亚洲黑丝一区二区| 亚洲视频电影在线| 久久国产精品色av免费看| 国产一区精品福利| 激情久久中文字幕| 日韩三级视频| 中文在线а√天堂| aⅴ色国产欧美| 欧美日韩在线精品一区二区三区激情综合| 欧美激情五月| 性欧美69xoxoxoxo| 91嫩草精品| 成人精品中文字幕| 久久不射网站| 麻豆精品视频在线观看| 免费视频亚洲| 欧美久久一区二区三区| 国产拍在线视频| 亚洲香蕉久久| 裤袜国产欧美精品一区| 蜜臀av亚洲一区中文字幕| 国产精品红桃| 国产精品7m凸凹视频分类| 久久精品99国产精品日本| 日韩中文字幕高清在线观看| 视频一区视频二区在线观看| 久久福利在线| 久久狠狠婷婷| 日韩一区二区三区精品视频第3页| 国产传媒av在线| 综合干狼人综合首页| 国产自产自拍视频在线观看| 亚洲色图综合| 亚洲啊v在线| 欧美精品三级在线| 欧美在线资源| 久久精品国产999大香线蕉| 国产婷婷精品| 国产va免费精品观看精品视频| 蜜乳av另类精品一区二区| 麻豆国产精品| 综合色就爱涩涩涩综合婷婷| 亚洲伊人av| 国产美女视频一区二区| 日韩视频不卡| 国产资源在线观看入口av| 亚洲a成人v| 一区二区小说| 国产福利资源一区| 中文字幕日韩高清在线 | 国产欧美69| 日韩精品一二三| 日韩亚洲一区在线| 国产欧美日韩一级| 先锋影音久久久| | 一本一道久久a久久| 久久人人99| 免费亚洲婷婷| 日韩亚洲精品在线观看| 91成人网在线观看| 精品国产aⅴ| 日韩精彩视频在线观看| 红桃视频国产一区| 欧美亚洲日本精品| 欧美成人精品一级| 日日夜夜免费精品视频| 香蕉国产精品| 久久久久国产精品一区三寸| 久久影院资源站| 国产乱码精品| 免费高清在线一区| 伊人影院久久| 99久久精品网站|