用shell实现MAC地址最后一位增加: 如,mac=70:65:82:00:21:13 对其进行加1 *** 作后成为70:65:82:00:21:14

用shell实现MAC地址最后一位增加: 如,mac=70:65:82:00:21:13 对其进行加1 *** 作后成为70:65:82:00:21:14,第1张

思路如下:

1,把mac地址转换成数字;2,数字+1;3,再把数字转换mac地址。参考代码如下

#!/bin/bash

#input a MAC address as arg 1, then output a MAC address right after input

#ie input 00:11:22:33:44:55, output 00:11:22:33:44:56

#from xx:xx:xx:xx:xx:xx to decimal number

MAC_ADDRESS_IN_DECIMAL=0

MAC_ADDRESS=''

function mac_to_num()

{

 num=0

 significant=`printf %d 0x10000000000`

 for i in {1,4,7,10,13,16}

 do

  str=`expr substr $1 $i 2`

  m=`printf %d 0x$str`

  n=`expr $m \ $significant`

  significant=`expr $significant \/ 256`

  num=`expr $num + $n`

 done

 MAC_ADDRESS_IN_DECIMAL=$num

 return 0

}

#inverse convertion

function num_to_mac()

{

 num=$1

 str=''

 for i in {05}

 do

  n=`expr $num % 256`

  num=`expr $num \/ 256`

  n=`printf %02x $n`

  str=$n:$str

 done

 MAC_ADDRESS=${str%:}

 return 0

}

mac_to_num $1

num_to_mac `expr $MAC_ADDRESS_IN_DECIMAL + 1`

echo $MAC_ADDRESS

运行截图:

第一步:

arp -a 1921682017

第二步:到得00-15-5d-c7-32-57 我每次都是手动去掉中间的”-“杠,去找主机名

Get-VMNetworkAdapter -all | Where-object {$_macaddressContains((“00155dc73257”)ToUpper())} | Select VMname,MacAddress

注:查询当前服务器上所以机器对应的mac地址

Get-VMNetworkAdapter -all | Select VMname,MacAddress

Get-VMNetworkAdapter -all | Where-object {$_macaddressContains(("00155d80e41b")ToUpper())} | Select VMname,MacAddress,VMId | ConvertTo-Json

获取mac地址的话,可以在命令行窗口获取,代码如下:

Android 底层是 Linux,我们还是用Linux的方法来获取:

1 cpu号:

文件在: /proc/cpuinfo

通过Adb shell 查看:

adb shell cat /proc/cpuinfo

2 mac 地址

文件路径 /sys/class/net/wlan0/address

adb shell cat /sys/class/net/wlan0/address

xx:xx:xx:xx:xx:aa

具体的实现代码为:

public static String getLocalMac() {

String mac=null;

String str = "";

try

{

Process pp = RuntimegetRuntime()exec("cat /sys/class/net/wlan0/address ");

InputStreamReader ir = new InputStreamReader(ppgetInputStream());

LineNumberReader input = new LineNumberReader(ir);

for (; null != str;)

{

str = inputreadLine();

if (str != null)

{

mac = strtrim();// 去空格

break;

}

}

} catch (IOException ex) {

// 赋予默认值

exprintStackTrace();

}

return mac;

}

假设你的文件叫 filetxt。

sed 's/^[a-fA-F0-9]:/0&/g;s/:\([a-fA-F0-9]:\)/:0\1/g' filetxt

或者:

awk '{print $1}' filetxt | awk -F: '{for(i=1;i<NF;i++)printf("%02s:",$i);printf("%02s",$NF)}'

前提:要有你需要连接的服务器的ip,端口号,服务器上的账户和密码

1、首先打开终端,然后输入sudo su - 回车进入根目录

2、然后输入:ssh -p 端口号 服务器用户名@ip (例如ssh -p 22 userkunyu@119293763

)回车,到这会让你输入yes或者no来确认是否连接,输入yes回车

3、然后输入在服务器上的用户密码回车

4、到此进入的是你在服务器上的账户的目录,即为连接成功

原文地址 cnblogscom/zou-zou/p/9661201html

以上就是关于用shell实现MAC地址最后一位增加: 如,mac=70:65:82:00:21:13 对其进行加1 *** 作后成为70:65:82:00:21:14全部的内容,包括:用shell实现MAC地址最后一位增加: 如,mac=70:65:82:00:21:13 对其进行加1 *** 作后成为70:65:82:00:21:14、使用PowerShell根据MAC地址查询对应的虚拟机、android 设备如何获取mac地址吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9533268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存