Página 8 de 10 PrimeiroPrimeiro ... 345678910 ÚltimoÚltimo
+ Responder ao Tópico



  1. Citação Postado originalmente por Nks Ver Post
    como faco isso? no caso eu crio um arquivo com toda a lista de ips, vamos supor, desculpe se estiver errado pois nao sou programador!!
    vamo la, eu crio um arquiv com tds os enderecos de ip com o nome de listaips.txt (coloquei txt nao sei pq foi apenas um exemplo!), ai la dentro tem:
    192.168.0.100
    192.168.0.101
    192.168.0.102 .... e assim vai tds as airgrids infectadas...

    ai la no script, em host onde eu coloquei o escopo da rede, que esta errado, eu coloco o endereco onde se encontra esse arquivo txt??
    ex.:
    host= '/listaips.txt'

    simples assim ou estou totalmente errado???? hehehe
    agradeco a sua disposição...
    Olá.

    Fiz uma aplicação para você, desde que concorde com as seguintes isenções.

    1) Não há na aplicação qualquer verificação de consistência e integridade. Se o arquivo de hosts estiver deformado, com formato inválido, a aplicação não verificará esses erros. O código parte do princípio que você compôs corretamente o formato dos arquivos. Fique atento ao preenchimento de commands.txt e hosts.csv. Esses arquivos não podem ter linhas em branco.

    2) A aplicação foi totalmente validada por PEP8, apenas. Outros validadores, como PyLint, não foram considerados.

    3) A aplicação foi feita para ser executada em FreeBSD. Para executar em GNU/Linux, faça as adaptações no shebang (a primeira linha do arquivo, aquela que começa com #!/).

    4) Se um dos hosts estiver off-line, não há tratamento para ignorar o insucesso da conexão e passar para o próximo ativo de rede. A aplicação considera que todos os hosts estão on-line e com serviço de SSH rodando.

    5) Se concorda com as isenções acima, prossiga a leitura:

    Código-fonte da aplicação, em Python.
    Código :
    #!/usr/local/bin/python
    # -*- encoding: utf-8 -*-
     
    import    csv
    import    paramiko
    from datetime import datetime
     
     
    def CommandLoad(File):
        """
            Read command file sets and return it.
        """
     
        FILE = open(File, "r+")
        varList = []
     
        for varLine in FILE:
            varList.append(varLine)
     
        FILE.close()
     
        return varList
     
     
    def HostLoad(File):
        """
            Read each host in hosts file.
        """
     
        CSVFile = open(File, 'r')
     
        Data = csv.reader(CSVFile)
     
        for Row in Data:
     
            IP = str(Row[0])
            PORT = int(Row[1])
            LOGIN = str(Row[2])
            PASSWORD = str(Row[3])
     
            FILENAME = str(IP) + '-' + str(
                datetime.now().strftime("%Y-%m-%d-%H%M"))
     
            SaveLog(FILENAME, SSHConnect(IP, PORT, LOGIN, PASSWORD))
     
     
    def SaveLog(Filename, List):
        """
            Save output (stdout) in file.
        """
        varFile = open(Filename, "w")
        varFile.writelines(List)
        varFile.close()
     
     
    def SSHConnect(Host, Port, Login, Password):
        """
            Connect to devices.
        """
     
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(Host, port=Port, username=Login, password=Password)
     
        List = []
     
        for Commands in CommandLoad("commands.txt"):
     
            stdin, stdout, stderr = ssh.exec_command(Commands)
     
            for line in stdout:
                List.append(line.replace('\r', ''))
     
        ssh.close()
     
        return List
     
    HostLoad("hosts.csv")

    Estrutura de hosts.csv, sendo composto por IP, porta, login e senha, valores estes separados por vírgula, conforme sugere o formato do arquivo CSV (comma separated values). ESTE ARQUIVO NÃO PODE TER LINHAS EM BRANCO.
    Código :
    172.30.0.2,22,ubnt,larry
    172.30.0.3,22,ubnt,moe
    172.30.0.4,22,ubnt,curly

    Estrutura de commands.txt, arquivo que tem todos os comandos que você deseja executar nos hosts definidos em hosts.csv. ESTE ARQUIVO NÃO PODE TER LINHAS EM BRANCO.
    Código :
    rm /etc/persistent/rc.poststart
    rm -rf /etc/persistent/.skynet
    cfgmtd -w -p /etc/
    reboot

    Com isso, você já resolve o problema. Todos os comandos declarados no arquivo commands.txt, serão executados em todos os hosts descritos em hosts.csv.

    Testa e nos avisa.

    Saudações,

    Trober

  2. trober, muito obrigado por deixar td mastigado agora eh soh engolir!!hehe
    isso vai ajudar muito, o unico problemas eh encontrar tds airgrids on-line para rodar o script!

    uma ultima coisa, no hosts.csv e commands.txt eu tenho que colocar o
    #!/usr/local/bin/python na primeira linha ou apenas no arquivo .py????

    bom e uma ultima duvida, no caso nas setoriais eu removi o virus e coloquei o firmware do alexandre, agora sempre lembro dele quando acesso o aircontrol pois aparece do lado da versao do firmware o a.correa!! nada mais justo pois seu firmware nao barra o up em 1mb igual oultimo disponivel no site da ubnt! nao estou reclamando!!! hehehe
    enfim, depois de atualizado ele corrige o buq, e nao infecta mais, nos airgrids, se eu apenas remover o virus e nao atualizar o firmware, sera que outros airgrids que eu ainda nao removi o virus pode infectar esses que eu ja removi, pois apenas removi e nao atualizei o firmware??

    ah eu dei um drop no ip que o virus manda informacao, igual o alexandre recomendou! mais acho q ele se espalha sem a necessidade de se comunicar com esse ip??

    abracos a tods, muito obrigado trober e tbm ao alexandre correa !
    sucesso e felicidades....



  3. Citação Postado originalmente por Nks Ver Post
    trober, muito obrigado por deixar td mastigado agora eh soh engolir!!hehe
    isso vai ajudar muito, o unico problemas eh encontrar tds airgrids on-line para rodar o script!
    Você pode fazer um controle de exception, para tratar os AirGrid que estão desligados.

    Citação Postado originalmente por Nks Ver Post
    uma ultima coisa, no hosts.csv e commands.txt eu tenho que colocar o
    #!/usr/local/bin/python na primeira linha ou apenas no arquivo .py????
    Somente no arquivo de extensão .py.

    Citação Postado originalmente por Nks Ver Post
    bom e uma ultima duvida, no caso nas setoriais eu removi o virus e coloquei o firmware do alexandre, agora sempre lembro dele quando acesso o aircontrol pois aparece do lado da versao do firmware o a.correa!! nada mais justo pois seu firmware nao barra o up em 1mb igual oultimo disponivel no site da ubnt! nao estou reclamando!!! hehehe
    enfim, depois de atualizado ele corrige o buq, e nao infecta mais, nos airgrids, se eu apenas remover o virus e nao atualizar o firmware, sera que outros airgrids que eu ainda nao removi o virus pode infectar esses que eu ja removi, pois apenas removi e nao atualizei o firmware??

    ah eu dei um drop no ip que o virus manda informacao, igual o alexandre recomendou! mais acho q ele se espalha sem a necessidade de se comunicar com esse ip??
    Não uso produtos Ubiquiti, por isso, não tenho opinião sobre essa parte da sua mensagem, apesar de ser o foco principal desse tópico.

    Citação Postado originalmente por Nks Ver Post
    abracos a tods, muito obrigado trober e tbm ao alexandre correa !
    sucesso e felicidades....
    Fico feliz em ter ajudado

    Saudações,

    Trober

  4. trober, cara deu td certo, to passando aqui soh pra agradecer novamente msm. eu listei apenas as on-lines, e rodei e executou certinho!

    em relacao ao virus da minha pergunta anterior, nao se espalha nao.

    abracos



  5. Citação Postado originalmente por Nks Ver Post
    trober, cara deu td certo, to passando aqui soh pra agradecer novamente msm. eu listei apenas as on-lines, e rodei e executou certinho!
    Que boa notícia

    Você pode usar o nMap, com -n -sP, em conjunto com a opção -oG (grepable), filtrando só os hosts ativos (UP), e com uns awk para lá, uns sed para lá, você monta dinamicamente seu arquivo hosts.csv, sem ter de tratar exception no Python

    Citação Postado originalmente por Nks Ver Post
    em relacao ao virus da minha pergunta anterior, nao se espalha nao.
    Não uso Ubiquiti, mas é sempre bom saber. Grato pela informação

    Citação Postado originalmente por Nks Ver Post
    abracos
    Para você também.

    Saudações,

    Trober






Tópicos Similares

  1. Automatização para remoção do WORM Skynet
    Por KuruminBranco no fórum Redes
    Respostas: 3
    Último Post: 06-11-2012, 09:49
  2. Qual melhor Kernel para atuallização do sistema
    Por no fórum Servidores de Rede
    Respostas: 8
    Último Post: 24-05-2003, 08:09
  3. Respostas: 3
    Último Post: 27-03-2003, 12:17
  4. Acessar o endereço 200.171.222.100:85 para autenticao do Spe
    Por Hacinn no fórum Servidores de Rede
    Respostas: 1
    Último Post: 10-01-2003, 16:57
  5. scripts para logs do Radius
    Por dboom no fórum Servidores de Rede
    Respostas: 1
    Último Post: 15-09-2002, 15:00

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L