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: Felipe Kellermann
Subject: Re: [shell-script] hexadecimal / traffic control
Date: Fri, 28 Jul 2006 20:10:36 -0300 (BRT)
User-agent: Pine <http://www.washington.edu/pine/>

On Thu, 27 Jul 2006 9:17pm  -0300, Reinaldo Carvalho wrote:

> 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

Reinaldo,

Vou dar o primeiro exemplo.  Tu podes só usar shell mesmo -- há suporte a 
operações bitwise e reconhecimento de bases (zsh, bash) desde sempre:


  % echo Porta origem: $(((0x00500051 & 0xffff0000) >> 16))
  Porta origem: 80

  % echo Porta destino: $((0x00500051 & 0x0000ffff))
  Porta destino: 81


Podes aplicar este mascaramento e shift nos outros valores.  No caso dos 
valores 32bits valor/mascara para os endreços IP, aplica a mesma operação 
para cada octeto.

Em tc a forma que tu tens para saber qual campo está sendo trabalhado é só 
pelo offset do pacote, começando pelo 0 (header IP).  Seria interessante 
tu pegares o offset (último valor do match) para identificar o tipo de 
dado que está sendo trabalhado.  Observação: iproute permite sem problemas 
a especificação de offsets negativos para poder pega coisas antes do 
header IP, o que torna a coisa mais legal.

-- 
Felipe Kellermann


reply via email to

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