Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    Skill
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Pessoal,

    Mandei uma mensagem a um tempo atras e consegui com a juda do marcos amorim um comando para pegar ip
    ifconfig ethX |grep inet| cut -d : -f 2 | cut -d B -f 1
    ifconfig pppX |grep inet| cut -d : -f 2 | cut -d B -f 1
    ele me retorna o IP, isso jah foi um gande avanço, como eu faço agora para que jah de posse deste IP , inserir a informaçaão do IP no corpo de um email para que seja enviado para mim.
    Outra Dúvida é tenho uma VPN com PPTP, como fazer tb com que este script que pega o ip e envia ele para mim, escreva também no arquivo pptp.conf , nos itens remote ip e no listen.

    Isso é possivel ?

    []s
    Skill

  2. #2

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf


    var=`ifconfig ethX | cut -d : -f2 | cut -d B -f1 `
    echo $var >> tmp
    mail [email protected] < tmp

    No arquivo tmp, vc pode deixar outras coisas escritas e no final sera adicionado o ip encontrado. Esse arquivo texto sera enviado por mail pra vc.

    ----------------------------------------------------------------------------------

    A segunda duvida, pra eu responder ao certo, preciso saber como eh esse arquivo certinho...manda a parte onde vc tem q inserir o ip que ai eu resolvo certinho pra vc

    falows





  3. #3

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Se o arquivo pptp.conf for do tipo:

    cat pptp.conf

    dados
    remote ip
    dados
    listen
    ...

    Ai vc pode fazer assim:

    sed s/"remote ip"/"remote ip $var"/ pptp.conf > pptp.conf~
    cat pptp.conf~ > pptp.conf
    sed s/"listen"/"listen $var"/ pptp.conf > pptp.conf~
    cat pptp.conf~ > pptp.conf

    ...lembrando q esse script eh continuacao do anterior.

  4. #4

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    ooopa!!! essa dica éh boa!!!!


    benzatti, dependendo da posicao no arquivo q vc vai colocar o ip o script muda?

    como seria p/ colocar no meio d uma sintaxe no /etc/rc.local por exemplo:

    /usr/sbin/ciped-cb device=cipcb0 me=<<aqui vai o script com o ip>> peer=xxxxx e por ae vai...

    espero q seja possivel, pois tbm vai me quebrar um galhao tbm

    valeu!

  5. #5

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Entao demiurgo...

    ...o comando sed ali no seu caso tem q fazer o seguinte...
    ...sed s/"substitui isso"/"por isso"/ rc.local ......nas linhas onde tiver "substitui isso"...
    ...so que esse comando apenas joga na tela a saida...pra alterar o arquivo
    vc precisa redirecionar essa saida pra um arquivo temporario e depois gravar por
    cima do arquivo original...eu faço assim pelo menos.
    Espero que seja isso que vc tenha perguntado...
    ...qq coisa pergunta de novo exatamente o que vc quer fazer q ai fica mais facil ...

    [ ] &acute;s

  6. #6

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    blz...

    o q eu quero fazer eh substituir aquela parte q eu postei antes no rc.local

    /usr/sbin/ciped-cb device=cipcb0 me=<<aqui vai o script com o ip>> peer...
    ||
    aqui vai ficar o IP

    blz, éh no meio d uma linha no rc.local

    valeu pela ajuda kra

    t+

  7. #7

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Acho que é isso cara...

    var=`ifconfig ethX | grep inet | cut -d : -f2 | cut -d B -f1`
    sed s/"/usr/sbin/ciped-cb device=cipcb0 me= peer=xxx ..."/"/usr/sbin/ciped-cb device=cipcb0 me=$var per=xxx..."/ rc.local > tmp
    cat tmp > rc.local

    Onde eu coloquei tres pontos vc substitui pelo que falta pra completar o que ta escrito na linha.

    [ ] &acute;s

  8. #8
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    fiz este script da forma recomendada mais recebo umas mensagens quando executo o script

    sed: -e expression #1, char 36: Unterminated `s&acute; command
    sed: -e expression #1, char 32: Unterminated `s&acute; command

    o Script ta assim

    var=`ifconfig eth0 | grep inet | cut -d : -f2 | cut -d B -f1`
    echo $var >> tmp
    mail [email protected] < tmp
    sed s/"remoteip"/"remoteip $var"/ pptpd.conf > pptpd.conf~
    cat pptpd.conf~ > pptpd.conf
    sed s/"listen"/"listen $var"/ pptpd.conf > pptpd.conf~
    cat pptpd.conf~ > pptpd.conf


    o meu pptpd esta assim

    remoteip 200.x.x.x
    listen 200.x.x.x

    e quando executo o script ele fica em branco.
    outra coisa e que na primeira linha deste script
    var=`ifconfig eth0 | grep inet | cut -d : -f2 | cut -d B -f1`

    me devolve o ip 200.x.x.x fe80 (tem como tirar este fe80 ? porque se ele entrar no pptpd.conf acho que vai dar errado.

    []´s
    Skill

  9. #9

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Eh acontece isso ai mesmo <IMG SRC="images/forum/icons/icon_frown.gif"> uma vez eu fui usar o sed eh picas... me ferrei hehe deu esse problema <IMG SRC="images/forum/icons/icon_smile.gif"> eu entao eu usei o vi para ajeitar isso usando

    :s/substuir/peloque/g

    mas como eh script tem que usar o sed e nada <IMG SRC="images/forum/icons/icon_frown.gif"> se alguem resolver isso blza

  10. #10

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Quando eu uso por exemplo, o comando que vc colocou lá no seu script:

    sed s/"listen"/"listen $var"/ pptp.conf > pptp.conf~

    funciona certinho, dá uma olhada se vc nao tá colocando espaço em algum lugar errado.

    Se aparecer sempre fe80, isso aqui resolve o problema pra tirar ele
    var=`ifconfig eth0 | grep inet | cut -d : -f2 | cut -d B -f1 | tr fe80 " "`


  11. #11
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Bom vamos lá.


    chequei linha por linha, nao tem espaço a mais, nenhuma virgula for do lugar

    nesta nova linha, com a parte do fe80, e o que occore agora e que o IP vem sem o fe80 o que é otimo, so que o ip agora vem assim

    2.253.142.16 -> e seria 200.243.122.16

    var=`ifconfig eth0 | grep inet | cut -d : -f2 | cut -d B -f1 | tr fe80 " "`
    echo $var >> tmp
    mail [email protected] < tmp
    até aqui funciona

    quando entra aqui

    sed s/"remoteip"/"remoteip $var"/ pptpd.conf > pptpd.conf~
    cat pptpd.conf~ > pptpd.conf
    sed: -e expression #1, char 36: Unterminated `s&acute; command
    sed s/"listen"/"listen $var"/ pptpd.conf > pptpd.conf~
    sed: -e expression #1, char 32: Unterminated `s&acute; command

    se fosse possivel entrar em contato comigo pelo msn ou pelo icq eu agradeceria icq 104363444 / 33841225 - > msn: [email protected]


    []´s
    Skill









  12. #12

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    O lance do sed é o seguinte, dependendo da versao pode ser que nao funcione. No seu caso acho que a seguinte maneira vai funcionar:

    sed "s/listen/listen $ip/" pptp.conf > pptp.conf~

    ou

    sed "s/\"listen\"/\"listen $ip\"/" pptp.conf > pptp.conf~

    Agora a parte de pegar o ip, eu precisaria ver a saida exata do comando ifconfig, para que eu pudesse isolar a saida que vc precisa.

  13. #13
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 00:04:75:CD:ED:FE
    inet addr:200.xxx.xxx.x50 Bcast:200.xxx.xx.x51 Mask:255.255.255.252
    inet6 addr: fe80::204:75ff:fecd:edfe/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:254507 errors:0 dropped:0 overruns:0 frame:0
    TX packets:235986 errors:0 dropped:0 overruns:0 carrier:4
    collisions:18 txqueuelen:100
    RX bytes:194955935 (185.9 Mb) TX bytes:35263604 (33.6 Mb)
    Interrupt:10 Base address:0xde00

    eu preciso apenas no inet addr " 200.xxx.xxx.x50 " só o ip mesmo

    e isnserir nnos campos marcados com # comentário #

    no pptpd.conf fica assim


    speed 115000
    option /etc/ppp/options.ptpd
    debug
    localip 200.xxx.xxx.xxx # precisco mudar o ip aqui #
    remoteip 192.168.100-120
    listen 200.xxx.xxx.xxx # precisco mudar o ip aqui #

    []´s
    Fabio

  14. #14

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf


    #aqui vc pega o ip
    var_ip=`ifconfig eth0 | grep Mask | awk &acute;{print $2}&acute; | cut -f2 -d":" `

    #aqui vc modifica o arquivo
    sed "s/listen/listen $var_ip/" pptp.conf > pptp.conf~
    cat pptp.conf~ > pptp.conf
    sed "s/localip/localip $var_ip/" pptp.conf > pptp.conf~
    cat pptp.conf~ > pptp.conf

    #ou pode tentar modificar assim, caso o metodo anterior tb nao funcione
    sed "s/\"listen\"/\"listen $var_ip\"/" pptp.conf > pptp.conf~
    cat pptp.conf~ > pptp.conf
    sed "s/\"localip\"/\"localip $var_ip\"/" pptp.conf > pptp.conf~
    cat pptp.conf~ > pptp.conf

    [ ] &acute;s

  15. #15
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Ola pessoal, bom estou com um problema tentei fazer uns testes com este script mas quando eu uso echo $var ao inves dele mostrar o ip ele mostra exatamente o que ta escrito no var=

    e agora ?
    uso Slack 9 <IMG SRC="images/forum/icons/icon_eek.gif">

  16. #16
    RafaelMonteiro
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Bom essa mensagem ai em riba eh minha.

  17. #17

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    tente colocar ´$var´ para ver se vai funcionar...



    Marcos Amorim

  18. #18

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    O que acontece Rafalel, é que quando vc executa um script, automaticamente ele é executado em um shell a parte. Logo, apos a execução do script, se vc tentar ver o conteudo de uma variavel, vc verá o conteudo dessa variavel no shell atual.
    Para testar o valor contido nela, coloque no proprio script um comando para sair o valor da variavel. Ex: echo $var (dentro do script)

    Obs: Para executar o script do shell atual, vc pode usar o comando "source"
    [ ] &acute; s

  19. #19
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Ae valeu pela força que ta me dando, ta fucionando quase 100%

    o meu problema agora e o seguinte como o arquivo fica assim

    localip 200.xxx.xxx.xx1

    quando ele roda o scrip ele ta ficando
    localip 200.xxx.xxx.xx1 200.xxx.xxx.xx2

    ai se eu rodar novamente o script ele fica
    localip 200.xxx.xxx.xx1 200.xxx.xxx.xx2 200.xxx.xxx.xx3

    eu precisaria que ele apagasse o que vem depois do espaço antes de inserir o outro ou sobscrever o que jah existe tem como fazer??


    []´s
    Fabio

  20. #20
    Visitante

    Padrão Script para Pegar IP, Enviar e-mail e escrever no pptp.conf

    Opan uma errata em uma colocação minha ele está inserindo certo

    localip ipnovo ipantigo ele tá apenas empurrando de lado o ip antigo

    localip 200.xxx.xxx.xx2 200.xxx.xxx.xx1(este ip que e o que tem sair)

    []´s
    Fabio Sena