Модератор: Модераторы разделов
roleg
Сообщения: 38
ОС: ALT Linux 4
Сообщение
roleg » 16.02.2009 15:41
Вот собственно 2 строки (использовать BASH):
Нужно перевести каждую 16-тиричную групу в десятичную
например:
0:e0:4d:4:96:a7 в
0.224.77.4.150.167
вот примеры адресов
Код: Выделить всё
0:19:5b:87:2b:c3
0:19:e0:7a:a5:e2
0:18:f3:4d:f1:e5
0:e0:4d:4:96:a7
0:e0:4d:a:c:a9
0:1b:fc:34:c:c6
0:a:e6:62:ab:0
в програмном коде парсится файл с примерно 2 тысячами маков, если можно приведите ф-цию
roleg
Сообщения: 38
ОС: ALT Linux 4
Сообщение
roleg » 16.02.2009 17:28
все, разобрался
решение в использовании sed и структуры let n1=0x$hehn
roleg
Сообщения: 38
ОС: ALT Linux 4
Сообщение
roleg » 16.02.2009 18:45
я так сделал:
Код: Выделить всё
#!/bin/bash
snmpwalk -v2c -c public $1 1.3.6.1.2.1.4.22.1.2 | awk '{print $1,$4}' > file
while read ip mac;do
ipn=`echo $ip | sed -e 's/.*192\.168\.\(\)/192\.168\.\1/i'`
macn=`echo $mac | sed -e 's/\(.*\)\:\(.*\)\:\(.*\)\:\(.*\)\:\(.*\)\:\(.*\)/\1 \2 \3 \4 \5 \6/i'`
let macn1=0x`echo $macn | awk '{print $1}'`
let macn2=0x`echo $macn | awk '{print $2}'`
let macn3=0x`echo $macn | awk '{print $3}'`
let macn4=0x`echo $macn | awk '{print $4}'`
let macn5=0x`echo $macn | awk '{print $5}'`
echo $ipn $macn1.$macn2.$macn3.$macn4.$macn5
done < file
roleg
Сообщения: 38
ОС: ALT Linux 4
Сообщение
roleg » 17.02.2009 14:39
новая проблема, пишут:
Шаг 2. Назначить эту связку на порт 1: snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.171.11.64.1.2.7.2.1.4.192.168.0.100 x 80000000
80000000 -> Порт 1
8 -> 1000 (двоичный код) -> 1000 1 = порт 1 000 = порт 2 – порт 4
я так понял если знаю порт, например 17 то мне нужно пометить 17-й бит и перевести с двоичной в десятичную а потом поместить число в старшый разряд и добавить нулей
omg!
разработчики dlink потеряли разум.. как это на bash-е можно организовать?
свитч 26 портовый, выберу 17 порт
00000000010000000000000000 -> 65536 -> 65536000
получается
Код: Выделить всё
snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.171.11.64.1.2.7.2.1.4.192.168.0.100 x 65536000