-
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
-
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
-
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.
-
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!
-
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 ...
[ ] ´s
-
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+
-
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.
[ ] ´s
-
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´ command
sed: -e expression #1, char 32: Unterminated `s´ 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
-
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
-
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 " "`
-
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´ command
sed s/"listen"/"listen $var"/ pptpd.conf > pptpd.conf~
sed: -e expression #1, char 32: Unterminated `s´ command
se fosse possivel entrar em contato comigo pelo msn ou pelo icq eu agradeceria icq 104363444 / 33841225 - > msn: [email protected]
[]´s
Skill
-
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.
-
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
-
Script para Pegar IP, Enviar e-mail e escrever no pptp.conf
#aqui vc pega o ip
var_ip=`ifconfig eth0 | grep Mask | awk ´{print $2}´ | 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
[ ] ´s
-
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">
-
Script para Pegar IP, Enviar e-mail e escrever no pptp.conf
Bom essa mensagem ai em riba eh minha.
-
Script para Pegar IP, Enviar e-mail e escrever no pptp.conf
tente colocar ´$var´ para ver se vai funcionar...
Marcos Amorim
-
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"
[ ] ´ s
-
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
-
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