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

19 декабря 2012

Срань...

В последнее время мне кажется что я пользователь Интернета в Северной Корее.

 
UPD:

15 сентября 2012

debian business card зависает при установке

При установке дистрибутива debian-6.0.5-amd64-businesscard.iso было замечено зависание на шаге network detect. Из-за чего это происходит я не знаю, но лечится нажатием Ctrl+C один или два раза. После чего начинается поиск настроек сети при помощи DHCP.

17 апреля 2012

Что юзать в Python'е для SNMP...

Для snmp в питоне есть несколько библиотек но у всех свои недостатки.

yapsnmp - быстрая, простая библиотека, но не обновлялась с 2004 года и имеет некоторые глюки. Для установки во всякие там Линуксы требуется бубен. Не работают многие флаги, например PRINT_NUMERIC_OIDS(http://sourceforge.net/tracker/?func=detail&aid=1119247&group_id=21077&atid=121077).

PySNMP - хорошая документация, но работает ОООооочень медленно, причем даже в тредах. Для большого объема данных не подходит.

Net-SNMP - обертка на питоне для netsnmp. Работает, синтаксис сложный.

Для просмотра таблицы коммутации используется команда типа:
snmpwalk -v 2c -c mycomm 192.168.1.100 1.3.6.1.2.1.17.7.1.2.2.1.2 -O n
Флаг -0 n означает вывод в цифровом виде (вместо бинарного).

Если Вы хотите запрограммировать эту команду на питоне, то yapsnmp не подходит из-за флагов, pysnmp неподойдет если вам нужно например пройти пару сотен/тысяч свичей. Net-SNMP слишком много букв писать в коде для такой простой команды. Поэтому как решение можно делать так:
for ip in hosts:
    fdb = os.popen("snmpwalk -v 2c -c mycomm %s 1.3.6.1.2.1.17.7.1.2.2.1.2 -O n" % ip)
    try:
        tmp = map(int, e.replace("= INTEGER:", ".").replace("\n", "").split(".")[1:])
    except Exception, e:
        print e
        continue
            
    mac = "%02x:%02x:%02x:%02x:%02x:%02x" % tuple(i for i in tmp[-7:-1])
    port = tmp[-1]
    vlan = tmp[-8]
Вообщем я негодуэ!