国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

整理了sun網(wǎng)站java環(huán)境下取得網(wǎng)卡信息的資料

整理了sun網(wǎng)站java環(huán)境下取得網(wǎng)卡信息的資料

更新時間:2022-05-09 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

因為最近有程序需要在java環(huán)境下獲取網(wǎng)卡ID,研究了SUN網(wǎng)站的相關(guān)資料(感謝令公子的連接)。
測試整理了一下,分享給大家。
思路是通過調(diào)用windows環(huán)境下的ipconfig命令和Linux環(huán)境下的ifconfig命令來獲取網(wǎng)卡信息:
分為四個程序文件:
test.java;NetworkInfo.java;WindowsNetworkInfo.java;LinuxNetworkInfo.java
//--------------test.java--------
package netcardinfo;

public class test {
public test() {
}
public NetworkInfo nti = new WindowsNetworkInfo();
public static void main(String[] args) {
test test1 = new test();
try {
 System.out.println("Network infos");
 System.out.println("Operating System:" + System.getProperty("os.name"));
 System.out.println("IP/Localhost:" + test1.nti.getLocalHost());
 System.out.println("MAC Address:" + test1.nti.getMacAddress());
 System.out.println("Domain:" + test1.nti.getNetworkDomain());
 }
 catch(Throwable t) {
 t.printStackTrace();
 }
}
}
//---------end file---------

//-----------NetworkInfo.java----------
package netcardinfo;

import java.net.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;
public abstract class NetworkInfo{
private static final String LOCALHOST = "localhost";
public static final String NSLOOKUP_CMD = "nslookup";
public abstract String parseMacAddress() throws ParseException;
/** Not too sure of the ramifications here, but it just doesn't seem right */
public String parseDomain() throws ParseException {return parseDomain(LOCALHOST);}
/** Universal entry for retrieving MAC Address */
public final static String getMacAddress() throws IOException {
 try {
NetworkInfo info = getNetworkInfo();
String mac = info.parseMacAddress();
return mac;
 }
 catch(ParseException ex)
{ ex.printStackTrace();
throw new IOException(ex.getMessage());
}
 }
/** Universal entry for retrieving domain info */
public final static String getNetworkDomain() throws IOException{
try {
 NetworkInfo info = getNetworkInfo();
 String domain = info.parseDomain();
 return domain;
 }
catch(ParseException ex)
{ex.printStackTrace();
 throw new IOException(ex.getMessage());
}
}
protected String parseDomain(String hostname) throws ParseException{
// get the address of the host we are looking for - verification
 java.net.InetAddress addy = null;
 try {
addy = java.net.InetAddress.getByName(hostname);
}
catch ( UnknownHostException e ) {
e.printStackTrace();
throw new ParseException(e.getMessage(),0);
}
// back out to the hostname - just validating
hostname = addy.getCanonicalHostName();
String nslookupCommand = NSLOOKUP_CMD + " " + hostname;
// run the lookup command
String nslookupResponse = null;
 try {
nslookupResponse = runConsoleCommand(nslookupCommand);
}
catch ( IOException e ){
e.printStackTrace();
throw new ParseException(e.getMessage(), 0);
}
 StringTokenizer tokeit = new StringTokenizer(nslookupResponse,"\n",false);
while( tokeit.hasMoreTokens() )
{ String line = tokeit.nextToken();
if( line.startsWith("Name:")){line = line.substring(line.indexOf(":") + 1);
line = line.trim();
if( isDomain(line, hostname)){line = line.substring(hostname.length()+1);
return line;
}
}
}
return "n.a.";
}
private static booleanisDomain(String domainCandidate, String hostname)
{ Pattern domainPattern = Pattern.compile("[\\w-]+\\.[\\w-]+\\.[\\w-]+\\.[\\w-]+");
Matcher m = domainPattern.matcher(domainCandidate);
return m.matches() && domainCandidate.startsWith(hostname);
}
protected String runConsoleCommand(String command) throws IOException {
Process p = Runtime.getRuntime().exec(command);
InputStream stdoutStream = new BufferedInputStream(p.getInputStream());
StringBuffer buffer= new StringBuffer();
for (;;) {
 int c = stdoutStream.read();
 if (c == -1) break;
 buffer.append((char)c);
 }
 String outputText = buffer.toString();
 stdoutStream.close();
 return outputText;
}
/** Sort of like a factory... */
private static NetworkInfo getNetworkInfo() throws IOException {
 String os = System.getProperty("os.name");
 if(os.startsWith("Windows")) {
 return new WindowsNetworkInfo();
}
 else if(os.startsWith("Linux")) {
 return new LinuxNetworkInfo();
 }
 else {
 throw new IOException("unknown operating system: " + os);
 }
}
protected String getLocalHost() throws ParseException {
 try {
 return java.net.InetAddress.getLocalHost().getHostAddress();
 }
 catch (java.net.UnknownHostException e ) {
e.printStackTrace();
throw new ParseException(e.getMessage(), 0);
 }
}
}
//----------end file-------------

//---------------WindowsNetworkInfo.java-------------
package netcardinfo;

import java.io.*;
import java.text.*;
import java.util.regex.*;
public class WindowsNetworkInfo extends NetworkInfo{
public static final String IPCONFIG_COMMAND = "ipconfig /all";
public String parseMacAddress() throws ParseException {
// run command
String ipConfigResponse = null;
try {
ipConfigResponse = runConsoleCommand(IPCONFIG_COMMAND);
}
catch ( IOException e ) {
 e.printStackTrace();
throw new ParseException(e.getMessage(), 0);
}
// get localhost address
String localHost =getLocalHost();
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ipConfigResponse, "\n");
String lastMacAddress = null;
while(tokenizer.hasMoreTokens()){
String line = tokenizer.nextToken().trim();
// see if line contains IP address, this means stop if we've already seen a MAC address
if(line.endsWith(localHost) && lastMacAddress != null){
return lastMacAddress;
}
// see if line might contain a MAC address
int macAddressPosition = line.indexOf(":");
if(macAddressPosition <= 0) {continue;}
// trim the line and see if it matches the pattern
 String macAddressCandidate = line.substring(macAddressPosition + 1).trim();
 if(isMacAddress(macAddressCandidate)) {
lastMacAddress = macAddressCandidate;
continue;
}
}
 ParseException ex = new ParseException("Cannot read MAC address from [" + ipConfigResponse + "]", 0);
 ex.printStackTrace();
 throw ex;}
private static boolean isMacAddress(String macAddressCandidate){
Pattern macPattern = Pattern.compile("[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}");
Matcher m = macPattern.matcher(macAddressCandidate);
return m.matches();
}
}
//--------------end file--------------

//------------LinuxNetworkInfo.java----------
package netcardinfo;

import java.io.*;
import java.text.*;
public class LinuxNetworkInfo extends NetworkInfo{
public static final String IPCONFIG_COMMAND = "ifconfig";
public String parseMacAddress() throws ParseException{
 String ipConfigResponse = null;
 try {
 ipConfigResponse = runConsoleCommand(IPCONFIG_COMMAND);
 }
catch ( IOException e ) {
e.printStackTrace();
throw new ParseException(e.getMessage(), 0);
}
String localHost = null;
try {
localHost = java.net.InetAddress.getLocalHost().getHostAddress();
}
catch(java.net.UnknownHostException ex)
{
ex.printStackTrace();
throw new ParseException(ex.getMessage(), 0);
}
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(ipConfigResponse, "\n");
String lastMacAddress = null;
while(tokenizer.hasMoreTokens()) {
String line = tokenizer.nextToken().trim();
boolean containsLocalHost = line.indexOf(localHost) >= 0;
// see if line contains IP address
if(containsLocalHost && lastMacAddress != null) {
return lastMacAddress;
}
// see if line contains MAC address
 int macAddressPosition = line.indexOf("HWaddr");
if(macAddressPosition <= 0) {continue;}
String macAddressCandidate = line.substring(macAddressPosition + 6).trim();
if(isMacAddress(macAddressCandidate)) {
 lastMacAddress = macAddressCandidate;
 continue;
 }
 }
 ParseException ex = new ParseException("cannot read MAC address for " + localHost + " from [" + ipConfigResponse + "]", 0);
 ex.printStackTrace();
 throw ex;
 }
 public StringparseDomain(String hostname)
 throws ParseException {return "";}
 private final boolean isMacAddress(String macAddressCandidate) {
if(macAddressCandidate.length() != 17) return false;
return true;}
}
程序在jdk1.4,windows2000下編譯測試通過,Linux環(huán)境需對test.java略做修改,條件所限未測試。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲国产精品久久久久婷婷884| 岛国一区二区在线观看| 麻豆精品一区二区综合av| 色94色欧美sute亚洲线路二| 中文字幕视频一区二区三区久| 国产不卡视频在线播放| 久久综合网色—综合色88| 国产一区二区免费视频| 久久综合狠狠综合久久激情| 国产一区二区免费视频| 国产日韩av一区| 成人h动漫精品一区二区 | 免费成人美女在线观看| 91麻豆精品国产91久久久更新时间| 亚洲午夜三级在线| 欧美另类z0zxhd电影| 麻豆精品新av中文字幕| 精品日本一线二线三线不卡| 国产又黄又大久久| 国产精品视频一区二区三区不卡| 不卡一区二区中文字幕| 亚洲女人小视频在线观看| 欧美在线观看一二区| 日韩精品1区2区3区| 久久先锋影音av鲁色资源网| 懂色av一区二区在线播放| 亚洲日本在线视频观看| 欧美精品丝袜中出| 精品一区二区免费在线观看| 国产三级一区二区三区| 91碰在线视频| 免费在线看成人av| 国产精品欧美久久久久一区二区| 欧美中文字幕一区二区三区亚洲| 日本v片在线高清不卡在线观看| 精品国产乱码久久久久久蜜臀| 成人91在线观看| 日韩影院免费视频| 国产亚洲精品免费| 在线免费观看成人短视频| 日韩精品成人一区二区三区| 日本一区二区三区四区| 在线精品国精品国产尤物884a| 日韩成人精品在线| 国产色一区二区| 欧美三级视频在线播放| 国产91精品露脸国语对白| 亚洲国产综合在线| 国产亚洲精久久久久久| 8x8x8国产精品| 91偷拍与自偷拍精品| 另类专区欧美蜜桃臀第一页| 日韩美女精品在线| 精品国产亚洲一区二区三区在线观看| 91无套直看片红桃| 精品亚洲免费视频| 婷婷丁香久久五月婷婷| 亚洲品质自拍视频网站| 久久综合久久久久88| 欧美日本韩国一区| 91丨porny丨最新| 国产精品亚洲综合一区在线观看| 亚洲亚洲人成综合网络| 中文字幕一区在线观看| 久久久91精品国产一区二区精品 | 蜜桃91丨九色丨蝌蚪91桃色| 亚洲色图在线视频| 国产视频在线观看一区二区三区| 欧美日韩成人高清| 91美女精品福利| 国产成人综合在线观看| 免费成人结看片| 天天影视色香欲综合网老头| 亚洲精品videosex极品| 国产精品三级在线观看| 久久色中文字幕| 日韩一区二区在线观看视频 | 国产呦萝稀缺另类资源| 日韩福利电影在线| 亚洲福利电影网| 亚洲中国最大av网站| 亚洲日本韩国一区| 亚洲天堂网中文字| 亚洲国产精品99久久久久久久久| 精品美女一区二区| 日韩一区二区视频| 91精品国产综合久久精品app| 欧美中文字幕一二三区视频| 91久久国产综合久久| 欧美综合色免费| 欧美日韩在线播放三区四区| 欧美日韩精品欧美日韩精品一综合| 在线一区二区视频| 欧美自拍偷拍一区| 欧美体内she精高潮| 欧美日韩一区二区三区四区五区| 91福利国产精品| 欧美视频日韩视频在线观看| 欧美日韩亚洲综合一区 | 成人av网站在线| www.亚洲人| 一本色道**综合亚洲精品蜜桃冫| 99国产欧美另类久久久精品| 一本色道亚洲精品aⅴ| 色综合一区二区| 在线观看日韩精品| 欧美挠脚心视频网站| 欧美一区二区精品久久911| 日韩手机在线导航| 久久精品一区蜜桃臀影院| 国产精品夫妻自拍| 亚洲一区二区三区四区的| 亚洲福利一区二区| 久久99久久久久| 大桥未久av一区二区三区中文| 成人国产在线观看| 欧美性xxxxxxxx| 精品国产伦理网| 最近中文字幕一区二区三区| 香蕉加勒比综合久久| 国内久久婷婷综合| 91视频国产资源| 91精品视频网| 国产欧美日韩精品一区| 亚洲综合视频在线| 精品中文av资源站在线观看| a4yy欧美一区二区三区| 欧美精三区欧美精三区| 久久久国产精品麻豆| 亚洲综合无码一区二区| 美女视频黄 久久| 成人黄色片在线观看| 欧美日韩的一区二区| 国产视频一区不卡| 亚洲一区二区三区不卡国产欧美| 免费亚洲电影在线| 成人黄色大片在线观看| 制服丝袜激情欧洲亚洲| 欧美激情一区二区三区蜜桃视频 | 免费人成精品欧美精品| 国产福利一区在线| 欧美三级日韩三级| 26uuu精品一区二区| 一区二区三区四区在线| 国产九色精品成人porny| 精品视频全国免费看| 中文字幕精品一区二区三区精品| 亚洲国产一区在线观看| 成人黄色片在线观看| 欧美成人乱码一区二区三区| 一区二区三区国产精品| 国产成人h网站| 欧美一区二区三区四区视频| 亚洲男同1069视频| 国产乱子伦一区二区三区国色天香| 91福利精品第一导航| 国产精品三级av| 狠狠色丁香婷婷综合久久片| 欧美色综合网站| 亚洲欧美怡红院| 国产一区二区三区四区五区美女 | 国产精品自在欧美一区| 欧美一区三区四区| 亚洲午夜精品在线| 91亚洲永久精品| 亚洲国产精品二十页| 狠狠色丁香婷婷综合| 制服丝袜成人动漫| 亚洲一卡二卡三卡四卡五卡| 99久久国产综合色|国产精品| 欧美精品一区二区三区蜜桃| 肉色丝袜一区二区| 欧美手机在线视频| 亚洲精品国产成人久久av盗摄| 国产jizzjizz一区二区| 26uuu另类欧美| 国产在线精品一区二区三区不卡 | 国产成a人无v码亚洲福利| 欧美r级在线观看| 男男视频亚洲欧美| 91精品蜜臀在线一区尤物| 亚洲午夜电影在线| 欧美在线啊v一区| 亚洲精品中文字幕在线观看| 成人的网站免费观看| 国产精品看片你懂得| 成人午夜电影久久影院| 久久精品欧美日韩| 国产精品77777| 日本一区二区不卡视频| 大桥未久av一区二区三区中文| 国产日韩欧美精品一区| 国产盗摄视频一区二区三区| 久久精品亚洲乱码伦伦中文 | 久久精品免费看| 精品欧美一区二区在线观看| 久久精品国产免费| 久久久三级国产网站| 成人高清伦理免费影院在线观看| 中文字幕中文乱码欧美一区二区 |