Скрипт для генерации лицензии под образы IOU
Сделайте скрипт исполняемым
$ chmod +x CiscoKeyGen.py
и выполните
$ ./CiscoKeyGen.py
Содержание скрипта:
#!/usr/bin/python
print "\n*********************************************************************"
print "Cisco IOU License Generator - Kal 2011, python port of 2006 C version"
import os
import socket
import hashlib
import struct # get the host id and host name to calculate the hostkey
hostid = os.popen("hostid").read().strip()
hostname = socket.gethostname()
ioukey = int(hostid, 16)
for x in hostname: ioukey = ioukey + ord(x)
print "hostid=" + hostid + ", hostname=" + hostname + ", ioukey=" + hex(ioukey)[2:]
# create the license using md5sum
iouPad1 = '\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A'
iouPad2 = '\x80' + 39 * '\0'
md5input = iouPad1 + iouPad2 + struct.pack('!L', ioukey) + iouPad1
iouLicense = hashlib.md5(md5input).hexdigest()[:16] # add license info to $HOME/.iourc
print "\n*********************************************************************"
print "Create the license file $HOME/.iourc with this command:"
print " echo -e '[license]\\n" + hostname + " = " + iouLicense + ";'" + " | tee $HOME/.iourc "
print "\nThe command adds the following text to $HOME/.iourc:"
print "[license]\n" + hostname + " = " + iouLicense + ";"
# disable phone home feature
print "\n*********************************************************************"
print "Disable the phone home feature with this command:"
print " grep -q -F '127.0.0.1 xml.cisco.com' /etc/hosts || echo '127.0.0.1 xml.cisco.com' | sudo tee -a /etc/hosts"
print "\nThe command adds the following text to /etc/hosts:"
print "127.0.0.1 xml.cisco.com"
print "\n*********************************************************************"
Второй вариант для интепретатора python3
Скрипт будет чуть изменен, поскольку print является функцией в этой версии python
Использовать так:
$ chmod +x CiscoIOUKeygen3f.py
$ python3 CiscoIOUKeygen3f.py
Содержание скрипта:
#! /usr/bin/python3
print("*********************************************************************")
print("Cisco IOU License Generator - Kal 2011, python port of 2006 C version")
import os
import socket
import hashlib
import struct
# get the host id and host name to calculate the hostkey
hostid = os.popen("hostid").read().strip()
hostname = socket.gethostname()
ioukey = int(hostid, 16)
for x in hostname:
ioukey = ioukey + ord(x)
print("hostid=" + hostid + ", hostname=" + hostname + ", ioukey=" + hex(ioukey)[2:])
# create the license using md5sum
iouPad1 = b'\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A'
iouPad2 = b'\x80' + 39 * b'\0'
md5input = iouPad1 + iouPad2 + struct.pack('!i', ioukey) + iouPad1
iouLicense = hashlib.md5(md5input).hexdigest()[:16]
print("\nAdd the following text to ~/.iourc:")
print("[license]\n" + hostname + " = " + iouLicense + ";\n")
with open("iourc.txt", "wt") as out_file:
out_file.write("[license]\n" + hostname + " = " + iouLicense + ";\n")
print("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAlready copy to the file iourc.txt\n ")
print("You can disable the phone home feature with something like:")
print(" echo '127.0.0.127 xml.cisco.com' >> /etc/hosts\n")
File «CiscoIOUKeygen3f.py», line 17
md5input=iouPad1 + iouPad2 + struct.pack(‘!ioukey) + iouPad1
^
SyntaxError: EOL while scanning string literal
НравитсяНравится
md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1
Будьте внимательней, сравните строки с оригиналом скрипта
НравитсяНравится
Доброго времени суток!
при команде /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
eb 04 19:02:32 Feb 04 19:02:32 ERROR: Unlicensed
cat $HOME/ .iourc
cat: /root/: Is a directory
[license]
eve-ng = 972f30267ef51616;
НравитсяНравится
Здравствуйте! Перепроверьте свои шаги по генерации лицензии и запуску eve-ng, можете использовать эту статью. Из того, что я заметил, у Вас пробел между $HOME и .iourc, о чем говорит эта строка «cat: /root/: Is a directory», а значит файл .iourc лежит не в домашней директории а в текущей.
НравитсяНравится
я так полагаю инфопмация уже не актуальна. ошибка line 17
НравитсяНравится
Это вряд ли, проверьте верно ли Вы скопировали код, и есть ли необходимые библиотеки в Python
НравитсяНравится
Какие лицензии можно туда имплементировать? можно ? узднать
и опять повторюсь. Готов заплатить за правильный путеводитель. Спаспибо за понимание
НравитсяНравится
Здравствуйте! Комментарии никто не удаляет, они просто должны быть одобрены перед публикацией.
Касательно Вашего вопроса — вся информация на сайте вендора https://www.eve-ng.net/index.php/documentation/howtos/howto-add-cisco-iol-ios-on-linux/
НравитсяНравится