有沒有人有過抓取ARP的值改輸出的經驗呢

如提 我需要抓取gw的mac值 目前找到的指令是arp -a | find "192.168.1.1 "

假設我今天還需要將該mac的值末幾碼做字串處理

該如何達成呢?

假設輸出的mac值為XX:XX:XX:XX:42:a8 我需要將最末值+- 有辦法達成嗎?

arp -a | grep 192.168.1.1| cut -d ' ' -f 4|awk -F ":" '{print $1$2$3$4$5$6}'|awk --non-decimal-data '{printf "%d\n","0x"$1}' |awk '{printf "2x\n", $1+1}'|sed -e 's/[0-9A-Fa-f]\{2\}/&:/g' -e 's/:$//'


cut -d ' ' -f 4
我用centos, mac address 會出現在第四個欄位, 依照OS去調整


awk -F ":" '{print $1$2$3$4$5$6}'
用awk 取mac address中的hex值


awk --non-decimal-data '{printf "%d\n","0x"$1}'
hex值轉成dec


awk '{printf "2x\n", $1+1}'
dec加1, 再轉回hex, 2x是left append "0", 補到12字


sed -e 's/[0-9A-Fa-f]\{2\}/&:/g' -e 's/:$//'
將hex值每兩個字用":"去切, 還原成原本xx:xx:xx:xx:xx:xx的格式



今日熱門文章 網友點擊推薦!

文章分享
評分
複製連結