IPv6 - как сгенерировать случайный адрес из подсети через bash - random-ipv6-address-generator.sh

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск

Доступная цена

IPv6 - как сгенерировать случайный адрес из подсети через bash - random-ipv6-address-generator.sh

# git clone https://gist.github.com/31b72b51b87311d57f53.git
Меняем подсеть:
# vi 31b72b51b87311d57f53/random-ipv6-address-generator.sh
# bash 31b72b51b87311d57f53/random-ipv6-address-generator.sh


Содержание скрипта:

#Random generator ipv6 addresses within your ipv6 network prefix.
#!/usr/local/bin/bash

# Copyright
# Vladislav V. Prodan
# [email protected]
# 2011

array=( 1 2 3 4 5 6 7 8 9 0 a b c d e f )
MAXCOUNT=20
count=1
network=2a01:4f8:c012:8022 # your ipv6 network prefix
rnd_ip_block ()
{
   a=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
   b=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
   c=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
   d=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
   echo $network:$a:$b:$c:$d
}

echo "$MAXCOUNT случайных IPv6:"
echo "-----------------"
while [ "$count" -le $MAXCOUNT ]        # Генерация 20 ($MAXCOUNT) случайных чисел.
do
       rnd_ip_block
       let "count += 1"                # Нарастить счетчик.
       done
echo "-----------------"


Пример генерации IPv6 из подсети /64:

20 случайных IPv6:
-----------------
2a01:4f8:c012:8022:1d8f:f12f:49d5:c7b3
2a01:4f8:c012:8022:8489:1a8b:1b6e:91d8
2a01:4f8:c012:8022:e725:14ae:48f3:5876
2a01:4f8:c012:8022:ddb9:31e4:bef7:6ef1
2a01:4f8:c012:8022:75ca:45f0:3bf7:da90
2a01:4f8:c012:8022:5a66:bc13:660c:f219
2a01:4f8:c012:8022:7d81:0a71:05c6:90f9
2a01:4f8:c012:8022:afd3:468d:914d:6bc8
2a01:4f8:c012:8022:29c5:6fb1:fd75:c129
2a01:4f8:c012:8022:fe50:2e9b:3343:e0f5
2a01:4f8:c012:8022:3282:c63c:ac57:0a3d
2a01:4f8:c012:8022:f49c:4adb:a5ac:b3ea
2a01:4f8:c012:8022:70f4:ac6e:edf1:9beb
2a01:4f8:c012:8022:ce7b:802c:8632:b0d3
2a01:4f8:c012:8022:bd3c:fef5:6894:be2f
2a01:4f8:c012:8022:5374:562b:3fb5:6246
2a01:4f8:c012:8022:7a02:3893:6832:9fda
2a01:4f8:c012:8022:2bfa:e252:3696:e7c4
2a01:4f8:c012:8022:db4b:a7d9:2436:d440
2a01:4f8:c012:8022:674d:0563:36d0:d541
-----------------