Unetlab/Eve-NG: Cisco IOU License Generator

Скрипт для генерации лицензии под образы 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")

Один ответ на “Unetlab/Eve-NG: Cisco IOU License Generator

  1. Funtik 04.12.2017 / 00:05

    File «CiscoIOUKeygen3f.py», line 17
    md5input=iouPad1 + iouPad2 + struct.pack(‘!ioukey) + iouPad1
    ^
    SyntaxError: EOL while scanning string literal

    Нравится

    • zotovp 05.12.2017 / 22:02

      md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1

      Будьте внимательней, сравните строки с оригиналом скрипта

      Нравится

  2. Lord Pepe 04.02.2019 / 22:04

    Доброго времени суток!
    при команде /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;

    Нравится

    • zotovp 05.02.2019 / 20:02

      Здравствуйте! Перепроверьте свои шаги по генерации лицензии и запуску eve-ng, можете использовать эту статью. Из того, что я заметил, у Вас пробел между $HOME и .iourc, о чем говорит эта строка «cat: /root/: Is a directory», а значит файл .iourc лежит не в домашней директории а в текущей.

      Нравится

  3. vasiliy 02.06.2019 / 14:09

    я так полагаю инфопмация уже не актуальна. ошибка line 17

    Нравится

    • zotovp 02.06.2019 / 14:12

      Это вряд ли, проверьте верно ли Вы скопировали код, и есть ли необходимые библиотеки в Python

      Нравится

  4. andrygreen 16.06.2022 / 12:39

    Какие лицензии можно туда имплементировать? можно ? узднать
    и опять повторюсь. Готов заплатить за правильный путеводитель. Спаспибо за понимание

    Нравится

Оставьте комментарий