Показаны сообщения с ярлыком python. Показать все сообщения
Показаны сообщения с ярлыком python. Показать все сообщения

вторник, 19 сентября 2017 г.

audit apache certificates debian

Написал небольшой скрипт для проверки сертификатов в конфигах apache для debian

Проверяет:
владельцев файлов ключей и сертификатов
имена файлов
проверяет expiration date
удобно вывод перенаправить в csv

вот на github

пятница, 15 января 2016 г.

сбор информации с маршрутизаторов cisco python paramiko

На основе предыдущего скрипта сделал сбор информации и подсчет подходящих под условие
отличие здесь довольно простое
из функции есть возрат значения, а уже значение (по сути ответ устройства) анализируется на наличие строк.
поиск строки сделан очень просто просто проверяется строка целиком с помощью in.

#!/usr/bin/python
#for work with SSH we need paramiko pip install paramiko
import paramiko
#hide password input 
import getpass
#build in library socket for with exception
import socket
list_bad_ip=[]
receive_buffer=""
client = paramiko.SSHClient()
#for connection via ssh you need to accept SSH keys
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#create function for send command and check answer
def send_string_and_wait_for_string(command, wait_string):
#send command
    shell.send(command)
#clear buffer
    receive_buffer = ""
#until receive WAIT_STRING - remote device ready
    while not wait_string in receive_buffer:
        receive_buffer += shell.recv(1024)
#return buffer with output of command 
 return receive_buffer
#read list of IPs from text file one by line
ips = [i.strip() for i in open("./1")]
username1 = raw_input("enter login :")
#hide password input 
password1 = getpass.getpass("enter password :")
#create loop for each IPs
for ip in ips:
#if we use try easy to work with expection
    try:
#connect to device
        client.connect(ip,port=22,username=username1,password=password1)
#check state
#        print "connect to ",ip
        shell = client.invoke_shell()
#wait for enable
        send_string_and_wait_for_string("", "#")
#enter command and wait for return to #
        receive_buffer = send_string_and_wait_for_string("sh int Vlan12 | i line protocol\n","#")
#first option not interesting 
        if "line protocol is up" in receive_buffer:
            print ip+" protocol is up"
#second possible answer interesting save in separate list 
        else:
            print ip+" line protocol is down"
            list_bad_ip.append(ip)
#close with this device
        shell.close()
        client.close()
#work with timeout error
    except socket.error:
        print ip + '=== Device unreachable'
#add ip with errors to list
        list_bad_ip.append(ip)
#save this list to file
with open('bad_ip', 'w') as f:
    for s in list_bad_ip:
        f.write(s + '\n')
#show list at the screen for lazy admin
print list_bad_ip
(END)

суббота, 13 февраля 2010 г.

Английский с помощью смартфона



Используемые инструменты сгруппировал по методам

Для повтора слов и фраз (электронные карточки с дополнительными функциями для облегчения запоминания) использую PYLwords.
Программа PYLwords :
  • написана неким yman07 на python для конкурса на сайте dimonvideo.ru
  • легально бесплатна, работает со словарями от Learnwords.
  • имеет только украинский интерфейс.
На ПК с помощью редактора от Learnwords по домашнему заданию создаю словарь, учу на телефоне.

Словари

Очень нравится словарь MacMillan American English Dictionary for Advanced Learners (был рекомендован преподавателем).
  • Есть базовый набор слов, из которых строится обьяснение остальных слов. Таким образом не переключаемся на русский язык при изучении английского.
  • Существует в варианте CD и бумажном.
  • Сейчас есть второе издание.
  • Родная версия на CD мне показалась аляповатой и небыстрой.
  • Первое издание есть в виде пользовательского словаря lingvo в формате DSL.
Поставил в смартфон версию symbian Lingvo 0.51 (от Lingvo 12)
Преобразовал из формата DSL в формат Lingvo LSD с помощью "патченной" утилиты DSLcomp СООТВЕТСТВУЮЩЕЙ версии Lingvo.
Таким образом получил Macmillan American English Dictionary for Advanced Learners на своем телефоне.
Примечание:
  1. При конвертации DSLComp от 14 версии (коммерческое название Lingvo x3) этот и другие словари у меня не виделись
  2. Меня довольно сильно удивило очень большое количество готовых пользовательских словарей для самых разнообразных языков.
В редких случаях использую модуль на python, который обращается к сервису google translate

Аудиокниги, аудиофрагменты

Использую подготовку книг перед заливкой с помощью программы бесплатной программы mp3tag:
  • Прописываю название альбомов
  • проставляю автоматически номера файлов в тегах
  • добавляю в файл обложку книги.

Примечание:Больше 300х300 добавлять картинку внутрь mp3 не стоит. Например, мой DVD плейер файлы mp3 с большими картинками просто пропускает.

Пробовал использовать формат Nokia audiobook и плейер. Заявленные преимущества:
  • В несколько раз компактнее mp3 (использует amr-wb)
  • запоминает проигрываемое место в файле
  • можно ставить закладки.
Отказался - жалко время на конвертирование, купил 8 Гб флешку, использую powermp3 версии 1.16.

PowerMP3 в отличие от стандартного плеера Nokia умеет:
  • запоминать место при выходе
  • проигрывать только указанную папку
  • ну и показывает обложку книги.