如果你是要修改linux的mac地址这很简单 再/etc/sysconfig/network-scripts/ifcfg-ethX (X是表示你的哪一张网卡) 修改其中的mac,修改成服务器能通过的mac就可以了,修改后,重启下网卡,为了将缓存中的mac地址修改
Linux系统有一个命令是tcpdump,它也可以实现抓包的功能。如果你知道这台主机的ip地址,很简单,通过tcpdump命令:两个终端窗口,一个用来ping,一个用来抓包,你可以分析出它的mac地址;如果什么都不知道的可能会有点麻烦,你需要做的事情很多,抓去数据包,同样你还要分析。
注,两条命令:
#tcpdump host 1921681254 -vvv
host 1921681254表示你要抓取数据包的主机,假如你要得到它的mac地址,再开一个窗口,通过ping 1921681254,抓取的数据包中你就可以看到它的mac地址了。
sed -i 's@#iface eth0 inet static@pre-up ifconfig eth0 hw ether '$MAC'@g' grep -rl "#iface eth0 inet static" /etc/network/interfaces
有一批ARM板出来全都是同一个MAC地址: 08:00:27:00:01:92
这就导致获取的IP都是一样的,需要让他们启动后获取各自不一样的IP,因此每个板子都需要获得其自己的MAC地址(后三个BYTE区分身份): "08:00:27:XX:XX:XX"
用shell脚本来实现随机的MAC。
Printf random mac by 4 commands :
Target:
demo: /etc/initd/networksh, 添加配置的实现:
Github地址: >
①命令ifconfig -a 其中 HWaddr字段就是MAC地址
②或者使用grep过滤只显示MAC地址:
ifconfig -a |grep -i hw
#只输出当前电脑上所有网卡的mac地址(不显示IP等信息)
#eth0 Link encap:Ethernet HWaddr ----这是有线网卡的MAC地址
#wlan0 Link encap:Ethernet HWaddr ----这是无线网卡的MAC地址
这个网上很多,主要是机器必须支持ICMP和NETBIOS协议。你参考一下:
public String getIP()
{
InetAddress inet;
try {
inet =
InetAddressgetLocalHost();
InetAddressgetByName("");
return
inetgetHostAddress();
} catch (UnknownHostException e) {
// TODO
Auto-generated catch block
eprintStackTrace();
}
return "";
}
两种方法设置:
1、编辑配置文件。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
如图所示:将BOOTPROTO=none改成BOOTPROTO=DHCP即可从网络设备自动获取IP地址等网络信息。
2、netconfig命令。
输入netconfig后将会出现下图所示,单击yes按钮。
选中”use dynamic ip configuration“点击OK即可。
以上就是关于linux中怎么获取本机的mac地址全部的内容,包括:linux中怎么获取本机的mac地址、在局域网里面linux 网卡MAC地址获取、Linux: 生成随机的MAC地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)