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


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a