Amigos, tem alguma maneira do meu software financeiro feito em delphi alterar / cadastrar banda e mac dos clientes no mikrotik?
Versão Imprimível
Amigos, tem alguma maneira do meu software financeiro feito em delphi alterar / cadastrar banda e mac dos clientes no mikrotik?
existe sim..
usando SSH ou TELNET !!
bom... como se faz isso? quais sao os comandos a serem enviados, como eu faço pra ler uma resposta....
ai vc tem q criar os comandos/funcoes para fazer isso.. conectar... executar.. pegar o retorno.. etc etc
Teria algo de exemplo?
me um exemplo do que vc gostaria de fazer, ai eu monto a receita de bolo! rsrs
vamos la
preciso cadastrar simple queue
comentario: nome do cliente
upload : xxxx do banco de dados
download: xxx do bando de dados
outra:
arp:
comentario: nome do cliente
ip := banco de dados
mac := bando de dados
quero tb localizar um ip ou mac, ou um detalhe do simple queue para que eu passa alterar uma velocidade ou bloquear um cliente, desativando o ip dele no arp...
Vamos lá!
Primeiro adicione o componente IdTelnet1 da paleta Indy Clients Configure o IdTelnet1 da seguinte forma:
Host: ip do seu mikrotik
Port: porta de acesso ao serviço telnet do seu mikrotik
Agora no evento oncreate do form principal:
IdTelnet1.Connect();
pronto vc já esta conectado no mikrotik, agora a primeira coisa a fazer é autenticar é claro:
para enviar comandos pelo telnet:
IdTelnet1.WriteLn('usuario');
IdTelnet1.WriteLn('senha');
apos vc ter autenticado é so enviar os comandos padrao do mikrotik use o mesmo codigos acima:
IdTelnet1.WriteLn('comando a ser executado dentro do mikrotik');
IdTelnet1.WriteLn('comando a ser executado no caso se for o primeiro digite o nome do usuario');
se era isso que vc queria esta ai!
abraços
Otimooooooooooooooooo!
e como eu faço para ler?
quero filtar o fulado no controle mac, e apagado.....
vc quis dizer excluir o cliente do controle de mac, bloquea-lo?
entao para facilitar a sua vida eu criei pra vc uma procedure para habilitar e desabilitar os ARP.
procedure TForm1.ARP(Comentario: string; Habilitado: Boolean);
begin
if Habilitado then
IdTelnet1.WriteLn('/ip arp'+#123+' enable [find comment='+Comentario+']'+#125)
else
IdTelnet1.WriteLn('/ip arp'+#123+' disable [find comment='+Comentario+']'+#125);
end;
ai vc usa da seguinte forma:
se vc quer desabilitar um cliente na tabela arp vc adiciona o seguinte codigo no botao:
ARP('COMENTARIO NO ARP QUE VC QUEIRA ALTERAR', False);
se vc quer Habilitar um cliente na tabela arp vc adiciona o seguinte codigo no botao:
ARP('COMENTARIO NO ARP QUE VC QUEIRA ALTERAR', True);
Para vc ver o retorno do telnet use o evento OnDataAvailabe do IdTelnet1
Qualquer coisa estamos ai!
Vamos fazer esse programa juntos!
eu preciso de uma funcao q eu execute q me mostre por exemplo os clientes conectados ou exibir a tabela arp
consegui isso na net pra reornar o resultado de cada coisa eh feito
coloca um memo no form
e no DataAvailable do idTelnet coloca
procedure TForm1.IdTelnet1DataAvailable(Sender: TIdTelnet;
const Buffer: String);
const
CR = #13;
LF = #10;
var
Start, Stop : Integer;
begin
if Memo.Lines.Count = 0 then
Memo.Lines.Add('');
Start := 1;
Stop := Pos(CR, Buffer);
if Stop = 0 then
Stop := Length(Buffer) + 1;
while Start <= Length(Buffer) do begin
Memo.Lines.Strings[Memo.Lines.Count - 1]:=Memo.Lines.Strings[Memo.Lines.Count - 1]+Copy(Buffer, Start, Stop - Start);
if Buffer[Stop] = CR then begin
Memo.Lines.Add('');
{$IFNDEF Linux}
SendMessage(Memo.Handle, WM_KEYDOWN, VK_UP, 1);
{$ENDIF}
end;
Start := Stop + 1;
if Start > Length(Buffer) then
Break;
if Buffer[Start] = LF then
Start := Start + 1;
Stop := Start;
while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do
Stop := Stop + 1;
end;
//end;
end;
por exemplo de dar um ping uol.com.br
ira retorna os ms dos pings
mas precisaria de mais informacao de como exibir os resultados
companheiros,
to fazendo uns testes aqui c Delphi, mto bom,
porém nao to conseguindo editar nome de usuários, senhas, etc,
qual a sintaxe correta la no mikrotik pra edição?
tipo:
/ppp sec edit fulano password 1234567
esta sintaxe dá erro, ja tentei com aspas , com igual e continua dando erro,
alguem me dá uma luz?
agradeço
Robson
[email protected]
consegui...
me ajuda ae, to com esse mesmo problema, eu defini meu servidor em pppoe, ta tudo certim, so falta a integracao com delphi, cadastrar, localizar, desativar, excluir, alterar senha..
vc tem que saber os comandos do mikrotik.. como entrar em um diretório, habilitar/desabilitar um registro, adicionar um registro, aplicar configurações e editar registros gravados...
Cara, particularmente eu acho que as pessoas estão aki no fórum para compartilhar informações... como te solicitei uma ajuda uns dias atrás pelo msn e vc me ignorou.. mas logo após me pediu ajuda novamente sobre o mikrotik....acho que devemos ser mai humildes, pois assim todos aprendemos...
naum te ignorei naum..
eu acho q roupa suja se lava em casa... se falei algo q te ofendeu desculpe...mas as informações q eu pude te passar eu passei tanto pelo msn quanto pelo skype....
já postei várias coisas que ajudaram os membros do fórum... exstem muitos sangue-sulgas aki.. o pessoal se torna menbro.. pega as informações aprende coisas novas, mas não repassa....por isso q eu postei aquele comentário...entaum façamos o seguinte... quando vc tiver novidades sobre o programa de gerenciamento Delphi + Mikrotik, posta aki pro pessoal... acho que pelas ajudas q te deram eles merecem compartilhar essa ferramenta...vlw
VAMOS LA, DEVE SER O PROBLEMA DE TODOS:
entrar no mikrotik...
criar, editar, localizar e desativar um cliente
ppp/secrect, apenas ae que eu preciso utilizar...
sabe pq usar o delphi, primeiro meu sistema e totalmente custumizavel, e vou interagir com os meus outros servidores, se der certo, em cada torre vou gerar o pppoe diretamente para o cartao de onde o clientes se encontra...
harrypotheard,
Não sei se é o que vc está querendo, mas fiz um pequeno exemplo de como conectar no mikrotik, e cadastrar um cliente no PPPoE Secret o codigo fonte para vc entender melhor segue em anexo!
obs.: cadastre o cliente por completo pois não tive tempo de criar rotinas para validação dos dados, e nem para a confirmação da gravação dos dados.
mas com esse exemplo vc já conseguirá da um passo nesse sistema!
Abraços!
so mais uma observação!
testado apenas na versão 2.9.27
blz se realmente funcionar.. vai me ajudar mt no sistema.
fiz uma funcao para ve quais os meus clientes estao ativos
/ip arp print
mas a lista eh meia grandinha
dai ele mostra alguns clientes e fica esperando dar um dump ou page down e tal
tem como gerar uma lista completa???
ou pegar esses valores de outra forma???
iiuuppiiiiiiiii
valew amigo
tava correndo atras dessa a meses
mas uma coisinha
pq o meu idtelnet cada vez q disconnecta da uma mensagem de erro
dai to fazendo uma sincronizacao com dois sevidores, da quando vai desconectar pra ir para o outro da essa merda de erro e para tudo
alguem passou por isso q conseguiu resolver???
eu ainda nao consegui fazer a m* do delphi conectar no mk... to ficando frustrado...
vc só precisa liberar a porta 23 do mikrotik, fazer com que o delphi antes de cada comando faça o log-on no MK, ou fazer com que na hora de abrir o soft administrativo ele já faça o log-on no mikrotik, o restante é só estudar os comandos do MK e ir criando as regras... como por exemplo..
depois do delphi conectado ao MK via telnet, os comandos são os seguintes...
para adicionar um ip...
/ip address
add address=192.168.0.1 interface=ether1 comment="comentario do ip adicionado"
para adicionar um MAC
/ip arp
add address=192.168.0.1 mac-address=00:00:00:00:00:00 interface=ether2 comment="comentario do mac cadastrado" disabled=no
para fazer ele conectar sozinho vc pode fazer o delphi chamar um script em .vbs ou .bat ok...
para todos com esta dúvida, espero ter ajudado.
vou preparar um vbs para abrir a telnet já autenticada e posto aki depois.
bagunça
vamos fazer uma coisa certa, cadastrar procurar apagar, poxa...
https://under-linux.org/forums/mikro...phi-7-0-a.html
Veja amigo, que tal agora, acho que vai conseguir continuar seu projeto em breve.
Agora tem, você pode pegar o exemplo do Mikrontrol - Gerenciador para Servidores Mikrotik, aproveito pra sugerir, já pensou em compartilhar o seu trabalho com a comunidade ?
Grato
M4D3
Bem pessoal, comecei com o delphi ontém, fiz a interface gráfica e tals, só que estou com uma dúvida de iniciante,
Quero pegar os clientes bloqueados e desbloqueados em locais diferentes, tipo queria pegar o print do /ip arp print without-paging e debugar no delphi. Gostaria de saber, no delphi, como devo fazer isto, qual componente usar para mostrar a lista..
Deêm uma olhada na imagem para um melhor entendimento.
Agradeço.