学生学号0121210680117实验课成绩
武汉理工大学
学 生 实 验 报 告 书
实验课程名称 《计算机网络》
开 课 学 院 计算机科学与技术学院
指导老师姓名 周兰采
学 生 姓 名 柏 扬
学生专业班级 软件1201
2013 — 2014 学年 第 二 学期
实验课程名称: 计算机网络
实验项目名称获取网卡的MAC地址实验成绩实验者专业班级组别同组者实验日期第一部分:实验分析与设计(可加页)
实验内容描述(问题域描述)
实验内容:编程获取以太网适配器的MAC地址。
实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)
实验原理:
在系统的cmd命令提示符中,我们输入ipconfig/all就可以看到本机上所有的适配器的具体内容如媒体状态、连接特定的DNS后缀、描述、物理地址、DHCP已启用、自动配置已启用信息。本实验是运用匹配的思想,先通过,在寻找匹配字符串物理地址,找到了就将:后面位置的内容赋值给mac,作为MAC地址,然后再主函数中输出即可。
实验代码如下:
package socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class SystemTool {
/**
* @return mac地址
*/
public static String getWindowsMACAddress()
{
String mac = null;
BufferedReader bufferedReader = null;
Process process = null;
try {
process = Runtime.getRuntime().exec("ipconfig /all");// windows下的命令,显示信息中包含有mac地址信息
bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
int index = -1;
while ((line = bufferedReader.readLine()) != null) {
if (line.indexOf("以太网适配器")>=0) //寻找标示字符串以太网适配器
{
while ((line = bufferedReader.readLine()) != null){
index = line.indexOf("物理地址");// 寻找标示字符串物理地址 if (index >= 0) {// 找到了
index = line.indexOf(":"); // 寻找":"的位置
if (index>=0) {
mac = line.substring(index + 1).trim();// 取出mac地址并去除2边空格
break;
}
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {