2020-07-24 11:01:25 +08:00
|
|
|
import random
|
|
|
|
|
import struct
|
|
|
|
|
import socket
|
|
|
|
|
|
|
|
|
|
class stringandip (object):
|
|
|
|
|
def __init__(self):
|
|
|
|
|
pass
|
|
|
|
|
def ipv4(self,m, n, x):
|
|
|
|
|
if m == '-1':
|
|
|
|
|
m = random.randint(0, 255)
|
|
|
|
|
if n == '-1':
|
|
|
|
|
n = random.randint(0, 255)
|
|
|
|
|
if x == '-1':
|
|
|
|
|
x = random.randint(0, 255)
|
|
|
|
|
y = random.randint(0, 255)
|
|
|
|
|
print(str(m) + '.' + str(n) + '.' + str(x) + '.' + str(y))
|
|
|
|
|
return str(m) + '.' + str(n) + '.' + str(x) + '.' + str(y)
|
|
|
|
|
|
|
|
|
|
def dec2hex(self,string_num):
|
|
|
|
|
base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)]
|
|
|
|
|
num = int(string_num)
|
|
|
|
|
mid = []
|
|
|
|
|
while True:
|
|
|
|
|
if num == 0: break
|
|
|
|
|
num, rem = divmod(num, 16)
|
|
|
|
|
mid.append(base[rem])
|
|
|
|
|
|
|
|
|
|
return ''.join([str(x) for x in mid[::-1]])
|
|
|
|
|
|
|
|
|
|
def ipv6(self):
|
|
|
|
|
ipInt = random.randint(0, 400000000000000000000000000000000000)
|
|
|
|
|
ipStr = ''
|
|
|
|
|
leftValue = ipInt
|
|
|
|
|
|
|
|
|
|
for i in [7, 6, 5, 4, 3, 2, 1, 0]:
|
|
|
|
|
string_num = leftValue / 65536 ** i
|
|
|
|
|
base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)]
|
|
|
|
|
num = int(string_num)
|
|
|
|
|
mid = []
|
|
|
|
|
while True:
|
|
|
|
|
if num == 0: break
|
|
|
|
|
num, rem = divmod(num, 16)
|
|
|
|
|
mid.append(base[rem])
|
|
|
|
|
|
|
|
|
|
ipTokenInt = ''.join([str(x) for x in mid[::-1]])
|
|
|
|
|
if (ipTokenInt == ''):
|
|
|
|
|
ipTokenInt = 0
|
|
|
|
|
ipStr = ipStr + str(ipTokenInt)
|
|
|
|
|
if i != 0:
|
|
|
|
|
ipStr = ipStr + ':'
|
|
|
|
|
leftValue %= 65536 ** i
|
|
|
|
|
print(ipStr)
|
|
|
|
|
return ipStr
|
|
|
|
|
|
2020-11-12 12:57:47 +08:00
|
|
|
def getstring(self,randomlength=16,base_str='ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'):
|
2020-07-24 11:01:25 +08:00
|
|
|
"""
|
|
|
|
|
生成一个指定长度的随机字符串
|
|
|
|
|
"""
|
|
|
|
|
random_str = ''
|
2020-11-12 12:57:47 +08:00
|
|
|
#base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
|
2020-07-24 11:01:25 +08:00
|
|
|
length = len(base_str) - 1
|
|
|
|
|
for i in range(randomlength):
|
|
|
|
|
random_str += base_str[random.randint(0, length)]
|
|
|
|
|
print(random_str)
|
|
|
|
|
return random_str
|
|
|
|
|
# if __name__ == '__main__':
|
|
|
|
|
# ipandstring = ipandstring()
|
|
|
|
|
# print(ipandstring.ipv6())
|