2011-10-05 3 views

답변

5
import random 
M = 16**4 
"2001:cafe:" + ":".join(("%x" % random.randint(0, M) for i in range(6))) 
4

주소의 임의 부분을 원하는 질문에서 확실하지 않습니다. 나는 마지막 2 바이트를 추측하고있다. 파이썬 netaddr 라이브러리를 사용하여

:

import random 
from netaddr.ip import IPNetwork, IPAddress 

random.seed() 
ip_a = IPAddress('2001::cafe:0') + random.getrandbits(16) 
ip_n = IPNetwork(ip_a) 
ip_n.prefixlen = 64 

print ip_a 
print ip_n 

샘플 출력 : 간단한 문자열 형식을 통해

2001::cafe:c935 
2001::cafe:c935/64 

장점은, 시작 주소, 랜덤 비트 렌을 사용자 정의하기 쉬운 것입니다. 또한 netaddr 클래스에는 많은 유용한 attr이 있습니다. 네트워크의 브로드 캐스트 주소

0

그냥 문자열 형식 사용 :

import random 

random.seed() 
print '2001::cafe:%x/64' % random.getrandbits(16) 
0

Scapy가 내장 된 임의의 IPv6 주소를 생성하는 기능을 가지고 있습니다. 그것의 zero's와 장난 경우, 당신은 행 앞에 scapy/volatile.py의 broncode 2 개 라인을 추가 할 필요가

source = RandIP6("2000::cafe:*:*") 
print source 

주 286

if n == 0: 
     ip.append("0") 
관련 문제