+ Responder ao Tópico



  1. #1

    Padrão Delphi + Telnet + Mikrotik

    Olá pessoal ja estive pesquisando muito sobre mikrotik e delphi e achei muito interessante a comunicação pelo telnet , eis a questão sei os comando mikrotik porem nao sei faze a parte do delphi tentei varias vezes com o post de um amigo aqui do forum Dephi X Mikrotik porem nao conectou gostaria muito de algum auxilio pois gostaria muito de fazer um programa simples no delphi e ir implementando conforme o conhecimento aumentasse , porem se eu conseguir conectar ao mikrotik ja ajudaria bastante !

    estou tentando com o componente idtelnet da palheta indy clients

    Obrigado !

    Se alguem estiver interessado na criação deste programa adoraria compartilhar meu conhecimento !

  2. #2

  3. #3

  4. #4

    Padrão

    ja dei uma olhada mais nao consigo comunicar com o mikrotik ainda =[ mesmo assim muito obrigado pela ajuda

  5. #5

    Padrão

    Citação Postado originalmente por nandoyuka Ver Post
    Olá pessoal ja estive pesquisando muito sobre mikrotik e delphi e achei muito interessante a comunicação pelo telnet , eis a questão sei os comando mikrotik porem nao sei faze a parte do delphi tentei varias vezes com o post de um amigo aqui do forum Dephi X Mikrotik porem nao conectou gostaria muito de algum auxilio pois gostaria muito de fazer um programa simples no delphi e ir implementando conforme o conhecimento aumentasse , porem se eu conseguir conectar ao mikrotik ja ajudaria bastante !

    estou tentando com o componente idtelnet da palheta indy clients

    Obrigado !

    Se alguem estiver interessado na criação deste programa adoraria compartilhar meu conhecimento !


    Se quiser te mando todo material, e so falar leo_h3[at]hotmail.com

  6. #6

    Padrão

    Citação Postado originalmente por nandoyuka Ver Post
    ja dei uma olhada mais nao consigo comunicar com o mikrotik ainda =[ mesmo assim muito obrigado pela ajuda
    1) Encontre o componente na aba Indy e coloque ele no form
    2) Configure as variaveis de conexao no botao ou Create do form
    IDTelnet1.Host := '192.168.0.254'; //Endereco Ip do servidor Mikrotik
    IDTelnet1.port := 23; //porta telnet do servidor
    IdTelnet1.Connect;
    Sleep(1000);
    IdTelnet1.WriteLn('Usuario');
    Sleep(1000);
    IdTelnet1.WriteLn('Senha');
    Sleep(1000);
    IdTelnet1.WriteLn('/ip firewall disable 0'); comando do Mikrotik a ser usado.
    Sleep(1000);
    IdTelnet1.Disconnect; //encerra sessao telnet depois de digitar os comandos.

    Tenta ai

  7. #7

    Padrão

    como nosso amigo netosdr falou e simplemente isso, se voce quiser pegar o retorno que o MK da voce vai usar o evento OnDataAvailable coloca o Buffer uma variavel ou qualquer coisa que voce possa tratar depois exemplo: Status:= Buffer; pois o retorno nao tem como ser interpretado diretamente por um Tmemo sera necessario usar uma umulaçao teVT100orANSI ou similar para que tenha todos os caracter!

  8. #8

    Padrão

    adicionei o componente idtelnet
    IDTelnet1.Host := '192.168.0.254';
    IDTelnet1.port := 23;
    IdTelnet1.Connect;
    Sleep(1000);
    IdTelnet1.WriteLn('Usuario');
    Sleep(1000);
    IdTelnet1.WriteLn('Senha');
    Sleep(1000);
    IdTelnet1.WriteLn('/ip firewall disable 27'); comando do Mikrotik a ser usado.
    Sleep(1000);
    IdTelnet1.Disconnect; //encerra sessao telnet depois de digitar os comandos.

    tentei colocar tambem em um button um comando
    IdTelnet1.WriteLn('/ip firewall disable 27'); comando do Mikrotik a ser usado.
    Sleep(1000);
    IdTelnet1.Disconnect; //encerra sessao telnet depois de digitar os comandos
    porem ele da a mensagem
    already connected
    mais nao esta no log nem desativa a rega no mikrotik
    o que posso estar errando
    obrigado pela ajuda

  9. #9

    Padrão

    Citação Postado originalmente por nandoyuka Ver Post
    porem ele da a mensagem
    already connected
    mais nao esta no log nem desativa a rega no mikrotik
    o que posso estar errando
    obrigado pela ajuda
    "/ip firewall disable 27" é somente um exemplo. Deve adaptar esta regra a atividade que deseja fazer dentro do Mikrotik em questao.

    already connected quer dizer que já está conectado.

  10. #10

    Padrão

    desculpa a demora usei o exemplo de um usuario e estou adaptando ao meu sistema assim que tiver uma prévia vou postar aki o sistema muito obrigado a todos que estao ajudando

  11. #11

    Padrão

    A leo, me ajuda manda pra mim, rsrsrsrs
    superxandaoce hotmail.com

  12. #12

    Padrão

    Tenho Cadastro de Clientes + Contas a Receber e vou integrar ao Mikrotik, estav parado por uns dias mas na semana que volto a trabalhar nele, qualquer coisa posto aki.

  13. #13
    Silvio Gama
    Visitante

    Smile

    Citação Postado originalmente por Alecio Ver Post
    Tenho Cadastro de Clientes + Contas a Receber e vou integrar ao Mikrotik, estav parado por uns dias mas na semana que volto a trabalhar nele, qualquer coisa posto aki.
    Amigo, Posta pra gente ai, tamo precisando, obrigado.!

  14. #14

    Padrão

    Citação Postado originalmente por Alecio Ver Post
    Tenho Cadastro de Clientes + Contas a Receber e vou integrar ao Mikrotik, estav parado por uns dias mas na semana que volto a trabalhar nele, qualquer coisa posto aki.
    amigo ja tenho toda parte integrada com o mikrotik podemos juntar os projetos manda seu numero para falar com voce ok t+

  15. #15

    Smile Re: Delphi + Telnet + Mikrotik

    amigos me ajude a receber o retorno do servidor, pois estou usando assim segue abaixo

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
    I: Integer;
    begin
    StatusBar1.SimpleText:= 'Tentando conectar com o servidor...';
    if IdTelnet1.Connected then
    IdTelnet1.Disconnect;
    IdTelnet1.Host:= '192.168.50.243';
    IdTelnet1.Port:= 23;
    idTelnet1.Connect;
    Sleep(1000);
    IdTelnet1.WriteLn('usuario');
    Sleep(1000);
    IdTelnet1.WriteLn('senha');
    Sleep(1000);
    if Length(Status) > 2 then
    begin
    StatusBar1.SimpleText:= 'Logado com sucesso';
    BITBTN1.Enabled:= false;
    end
    else
    begin
    StatusBar1.SimpleText:= 'Usuario ou senha invalida!';
    BITBTN1.Enabled:= true;
    end;
    end;

    dai fala que esta conectado, mas como posso ter certeza que realmente esta conectado meu ajudem por favor

  16. #16

    Padrão Re: Delphi + Telnet + Mikrotik

    if idTelnet1.Connected then
    begin showmessage('estou conectado');
    end
    else
    begin
    showmessage('nao estou conectado');
    end;

    Acredito que seja isso que você estava querendo, sendo que se foi o retorno do buffer você vai ver nesse acima em alguma das minhas respostas a solução sendo que você deverá tratar o retorno com um emulador teVT100orANSI para poder ler os retornos.


    Citação Postado originalmente por pcmil Ver Post
    amigos me ajude a receber o retorno do servidor, pois estou usando assim segue abaixo

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
    I: Integer;
    begin
    StatusBar1.SimpleText:= 'Tentando conectar com o servidor...';
    if IdTelnet1.Connected then
    IdTelnet1.Disconnect;
    IdTelnet1.Host:= '192.168.50.243';
    IdTelnet1.Port:= 23;
    idTelnet1.Connect;
    Sleep(1000);
    IdTelnet1.WriteLn('usuario');
    Sleep(1000);
    IdTelnet1.WriteLn('senha');
    Sleep(1000);
    if Length(Status) > 2 then
    begin
    StatusBar1.SimpleText:= 'Logado com sucesso';
    BITBTN1.Enabled:= false;
    end
    else
    begin
    StatusBar1.SimpleText:= 'Usuario ou senha invalida!';
    BITBTN1.Enabled:= true;
    end;
    end;

    dai fala que esta conectado, mas como posso ter certeza que realmente esta conectado meu ajudem por favor