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
