Modulo iptools, ferramentas ping, traceroute e arping

Home Comunidade Brasileira Endian Firewall Endian Firewall Dicas e Tutoriais Modulo iptools, ferramentas ping, traceroute e arping

Visualizando 0 resposta da discussão
  • Autor
    Posts
    • #1443
      xmaxmex
      Participante

      Alô galera,

      Segue um modulo que escrevi para o Endian 2.4.1, testado e funcionando.

      Ele se trata de um mod que executa na interface web as ferramentas ping, traceroute e arping, e boa parte do codigo peguei do modulo iptools.cgi do Smoothwall 3 Express.

      Para funcionar, bastar salvar o arquivo com o nome de iptools.cgi no diretorio /home/httpd/cgi-bin do seu Endian 2.4.1, e dar permissões de acesso cgi, chmod 755 iptools.cgi.

      Para isto você pode utilizar no windows a ferramenta WINSCP se desejar para fazer o upload (Não esqueça de ativar o SSH no endian !).

      E para funcionar legal o ping e o arping, tive que fazer uma jogada no Endian, copiar os binarios com outro nome e setar SUID, veja como:

      Entre no Endian pelo SSH (se windows utilize o utilitartio putty!), e faça como root:

      cp /bin/ping /bin/pingroot

      chmod 4755 /bin/pingroot

      cp /sbin/arping /sbin/arpingroot

      chmod 4755 /sbin/arpingroot

      Agora basta acessar a URLdo iptools.cgi, Ex:

      https://<IP_DO_SEU_ENDIAN&gt;:10443/cgi-bin/iptools.cgi

      Espero que gostem…

      Segue MOD, corte aqui—

      #!/usr/bin/perl

      # Know Works: Endian Firewall Community 2.4.1

      # MOD: iptools.cgi

      # version: 0.10

      #

      # Copyright (C) 2011 – Claudemir P. da Luz Jr.

      # Email: xmaxmex@gmail.com

      #

      # Licensed under GPL Version 2.

      #

      # have many issues, but it works 😉

      require ‘/var/efw/header.pl’;

      my %cgiparams;

      my @inaddrs, @addrs;

      my $addr;

      my $address;

      my $errormessage = ”;

      my %cgiparams;

      &showhttpheaders();

      &getcgihash(%cgiparams);

      $selected{‘TOOL’}{‘PING’} = ”;

      $selected{‘TOOL’}{‘TRACEROUTE’} = ”;

      $selected{‘TOOL’}{‘ARPING’} = ”;

      $selected{‘TOOL’}{$cgiparams{‘TOOL’}} = ‘SELECTED’;

      # Esta função modifica o titulo no Navegador..

      &openpage(_(‘MOD IPTOOLS ver 0.10’), 1, ”);

      &openbigbox($errormessage, $warnmessage, $notemessage);

      print “<FORM METHOD=’POST’>n”;

      # esta função abre um quadrado na pagina e coloca um cabeçalho..

      &openbox(‘100%’, ‘left’, _(‘Ferramentas de Teste IP’));

      printf <<END

      Escolha o a ferramenta de teste, ping icmp ,traceoute ou arping:<p>

      arping utilizara a interface eth1 para seus testes<p><p>

      <div class=”efw-form”>

      END

      ;

      print <<END

      <TABLE WIDTH=’100%’>

      <TR>

      <TD WIDTH=’15%’ CLASS=’base’>Ferramenta: $tr{‘toolc’}</TD>

      <TD WIDTH=’20%’>

      <SELECT NAME=’TOOL’>

      <OPTION VALUE=’PING’ $selected{‘TOOL’}{‘PING’}>Ping

      <OPTION VALUE=’TRACEROUTE’ $selected{‘TOOL’}{‘TRACEROUTE’}>Traceroute

      <OPTION VALUE=’ARPING’ $selected{‘TOOL’}{‘ARPING’}>ARPing

      </SELECT>

      </TD>

      <TD WIDTH=’20%’ CLASS=’base’>IP ou Hostname: $tr{‘ip addresses or hostnames’}</TD>

      <TD WIDTH=’30%’><INPUT TYPE=’text’ SIZE=’40’ NAME=’IP’ VALUE=’$cgiparams{‘IP’}’></TD>

      <TD WIDTH=’15%’ ALIGN=’CENTER’><INPUT TYPE=’submit’ NAME=’ACTION’ VALUE=’Executar’></TD>

      </TR>

      </TABLE>

      END

      ;

      printf <<END

      <br class=”cb” />

      </div>

      END

      ;

      &closebox();

      if ($cgiparams{‘ACTION’} eq “Executar”)

      {

      @inaddrs = split(/,/, $cgiparams{‘IP’});

      #aqui fiz algumas modificações… ta meio bugado 😉

      &openbox(‘100%’, ‘left’, _(‘Retorno’));

      print “

      n";
      # ping with root privileges
      if ($cgiparams{'TOOL'} eq 'PING')
      {
      system('/bin/pingroot', '-n', '-c', '5', $cgiparams{'IP'});
      }

      if ($cgiparams{'TOOL'} eq 'TRACEROUTE')
      {
      system('/bin/traceroute', '-n', $cgiparams{'IP'});
      }

      # arping...very util
      if ($cgiparams{'TOOL'} eq 'ARPING')
      {
      system('/sbin/arpingroot', '-I', 'eth1', '-c', '5', $cgiparams{'IP'});
      }

      print "

      n”;

      &closebox();

      }

      print “</FORM>n”;

      #print “
      DEBUG 2: “.$cgiparams{‘TOOL’};

      #print “
      DEBUG 4: “.$cgiparams{‘IP’};

      &closebigbox();

      &closepage();

      #end.


      Wireguard_webadmin

      Sistema gratuito (Open Source) para gestão de VPN's WireGuard com uma Web interface intuitiva e fácil de usar.

      Principais funcionalidades:

      - Sistema de Firewall completo e flexível.
      - Encaminhamento de portas
      - Suporte a multi usuário com níveis diferentes de acesso
      - Múltiplas instâncias do Wireguard
      - Crypto key routing para configuração de VPN site-to-site

      O projeto é Open Source, fácil de instalar e está disponível em wireguard_webadmin

Visualizando 0 resposta da discussão
  • O tópico ‘Modulo iptools, ferramentas ping, traceroute e arping’ está fechado para novas respostas.