shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] hexadecimal / traffic control


From: Julio C. Neves
Subject: Re: [shell-script] hexadecimal / traffic control
Date: Thu, 27 Jul 2006 21:49:28 -0300

Fala Reinaldo,
é muito simples o que vc quer, porém não muito badalado. Para passar de hexa
para decimal faça:

echo "ibase=16, FFFF" | bc

Para fazer o inverso e já aplicando o seu exemplo::

Hexa=$(echo "obase=16; 65535" | bc)
for ((i=0; i < 4; i++))
{
    echo "ibase=16; ${Hexa:i:1}" | bc
}

A esta altura vc já deve ter entendido que ibase é a base de entrada e obase
a de saida (input base e output base, respectivamente).
-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq

2006/7/27, Reinaldo Carvalho <address@hidden>:
>
> saudações!
>
> estou fazendo uma interface para o "tc" que é comando que manipula as
> "qdisc"s, "class"s e "filter"s, assim como, manipula os algotimos de
> controle da fila de pacotes do linux (htb, cbq, tbf, ...).
>
> Quem tabalha com isso, pode ir conferindo a evolução:
> http://www.nautilus.com.br/~rei/material/lost+found/scripts/tc-tool.sh<http://www.nautilus.com.br/%7Erei/material/lost+found/scripts/tc-tool.sh>
>
> Estou empacando na hora de manipular hexadecimais. Na parte de
> transformar de hexadecimal para decimal, e de decimal para
> hexadecimal.
>
> Mais especificamente:
>
> 0a0a2200/ffffff00
> O exemplo acima é um ip 0a0a2200 (0x0a 0x0a 0x22 0x00) 10.10.34.0
> E a máscara ffffff00 (0xff 0xff 0xff 0x00) 255.255.255.0
>
> Como converter isso?
>
> 00500051/ffffffff
> No exemplo acima, é porta de origem 0050 (0x0050) 80
> Máscara da porta ffff (0xffff) 65535
> Porta de destino 0051 (0x0051) 81
> Máscara da porta ffff (0xffff) 65535
>
> (pra quem nunca ouviu falar de máscara da porta, o 65535 é o mesmo de
> 255.255.255.255 para o ip, mas isso não vem ao caso)
>
> Em sumo, preciso conventer:
> 0a0a2200/ffffff00 para 10.10.34.0/255.255.255.0
> 00500051/ffffffff para 80/65535 e 81/65535
>
>
> []s!!
>
>
> --
> Reinaldo Carvalho
> Debian Sarge 3.1 - Linux User: #238310
> Prodepa - address@hidden
> 
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]