Shell ipv6位址的格式轉化

2021-08-31 03:05:31 字數 820 閱讀 7407

分析:ip a與ifconfig顯示的結果中沒有網絡卡和ipv6位址的對應關係,所以想到去記憶體中匹配,但是記憶體中的ipv6位址與ip a看到的位址格式不同,因此需要做轉化。即將2003:a:12:bcd:a3b4::200轉化成2003000a00120bcda3b4000000000200,然後根據轉化的結果在/proc/net/if_inet6中匹配出對應的網絡卡名。

#!/bin/bash

num=`(echo $addr6 | grep -o ":" | wc -l)`

echo $addr6 > /root/ipv6.tem

while [ $num -lt 6 ]

dosed -i "s/::/:0000::/g" /root/ipv6.tem

let num++

done

if [ $num -eq 6 ]

then

sed -i "s/::/:0000:0000:/g" /root/ipv6.tem

fiip6str=`cat /root/ipv6.tem`

b=$rm -rf /root/ipv6.tem

arr=($b)

i=0while [[ i -lt $ ]]; do

arr[i]=`(echo $|awk ''|awk '')`

let i++

done

ipv6=$(echo $|sed 's/ //g')

inte***ce=`(grep $ipv6 /proc/net/if_inet6 | awk '')`

後記:最近發現這段**能否正常執行和shell版本有關,不同的shell還需進一步調整!

IPv6 位址格式

ipv6 位址大小為 128 位。首選的 ipv6 位址表示為 x x x x x x x x 其中每個 x 是代表乙個 4 位的十六進製制數字。ipv6 位址範圍從 0000 0000 0000 0000 0000 0000 0000 0000 至 ffff ffff ffff ffff ffff...

IPV6位址格式

一 單播位址 unicast ipv6addresses 1.可聚合的全球單播 aggregatable global unicast 即global位址,全球範圍內可達 2.鏈路本地位址 link local 用於同乙個鏈路上相鄰節點之間通訊。ipv6的路由器不會 鏈路本地位址的資料報。link ...

IPv6位址格式

ipv6 位址格式 ipv6 的位址長度是 128位 bit 將這128位的位址按每 16位劃分為乙個段,將每個段轉換成十六進製制數字,並用冒號隔開。例如 2000 0000 0000 0000 0001 2345 6789 abcd 這個位址很長,可以用兩種方法對這個位址進行壓縮,前導零壓縮法 將...