Rastreando seu computador com Python via e-mail

Publicado por Felipe Ruiz Peixoto em 15/02/2013

[ Hits: 8.697 ]

Blog: https://www.ubuntu.com/

 


Rastreando seu computador com Python via e-mail



Pode ser muito útil saber quando alguém está usando seu computador, junto com algumas informações como o IP e o local. Nesta dica, vou mostrar um simples programa, explicando o código.

O código do programa:

#!/bin/python
#SEND CURRENT NETWORK INFORMATION USING A ONLINE TOOL
#CAN BE EXECUTED AS A DAEMON IN THE OS LOGIN OR START, RENAMED AND HIDDEN.
# <feliperuiz.sax.eletronic@gmail.com>

import smtplib
from urllib import urlopen
from time import sleep
#####   SETTINGS
SSL=True
SERVER="smtp.gmail.com"
PORT=465
USER="email@gmail.com"
PASS="password"
TOADDR="email@gmail.com"
FROMADDR="email@gmail.com"
URL="http://www.geoiptool.com"

conn_repeat=True
while conn_repeat:
  if SSL:
    try :
         server = smtplib.SMTP_SSL(SERVER, PORT)
         conn_repeat=False
    except : pass
  else :
    try :
         server = smtplib.SMTP(SERVER, PORT)
         server.starttls()
         conn_repeat=False
    except : pass
  sleep(45)

server.ehlo()

server.login(USER, PASS)
msg=urlopen(URL).read()
server.sendmail(FROMADDR, TOADDR, msg)
server.quit()

Este pequeno código acessa um servidor de e-mails, no caso o Gmail, pois é gratuito. Depois ele acessa a Internet e pega as informações do computador em um site especializado nisto, no caso o Geo IP. Podemos alterar este programa para ele enviar também informações de hardware e outras.

Depois de pegar as informações, ele envia tudo para um endereço de e-mail. Ele faz tudo isso automaticamente e silenciosamente.

Este programa tenta enviar várias vezes, com um intervalo de um pouco menos de 1 minuto, até conseguir.

Explicando o código:
  • import smtplib → Esta parte do código importa o "smtplib", necessário para enviar e-mails.
  • from urllib import urlopen → Importa o "urlopen" da "urllib", para acessar a Internet.
  • from time import sleep → O "sleep" da "time", que faz o programa esperar um tempo, uma pausa.

Continuando:

SSL=True

Define se a conexão será com SSL ou não.

SERVER="smtp.gmail.com"

Define o servidor de e-mail.

PORT=465

Define a porta para se conectar com o servidor.

USER="email@gmail.com"

Define o usuário deste servidor.

PASS="password"

Define a senha para entrar no servidor.

TOADDR="email@gmail.com"

Define o destinatário.

FROMADDR="email@gmail.com"

Define o remetente.

URL="http://www.geoiptool.com"

Define o site que mostra as informações do computador.

conn_repeat=True

Controla as tentativas de envio.

while conn_repeat:
  if SSL:
     try :
         server = smtplib.SMTP_SSL(SERVER, PORT)
         conn_repeat=False
     except : pass
  else :
     try :
         server = smtplib.SMTP(SERVER, PORT)
         server.starttls()
         conn_repeat=False
     except : pass
  sleep(45)

Fica tentando conectar a cada 45 segundos, até conseguir.

E:
  • server.ehlo() → Começa a troca de informações.
  • server.login(USER, PASS) → Obtém autorização do servidor.
  • msg=urlopen(URL).read() → Acessa o site e pega seu conteúdo.
  • server.sendmail(FROMADDR, TOADDR, msg) → Envia o conteúdo como uma mensagem para o e-mail configurado no inicio do código.
  • server.quit() → Fecha a conexão com o servidor.

Você pode usar este programa como quiser. Eu coloquei ele na pasta /root e alterei o "rc.local" para executá-lo na inicialização do meu notebook.

Recomendo renomear o arquivo para aumentar a segurança. ;D

Espero que gostem da brincadeira. :D

Outras dicas deste autor

"RPG Maker" escrito em Python e Pygame

Link para várias modificações e Add-ons de Jogos

Hardware Project Simulator 0.1 - Simulador de montagem de computadores

Web-ICQ no GNU/Linux - Como colocar no site e criar botão para executar

Hardware Project Simulator 0.23 - Mais fácil ainda!

Leitura recomendada

Instalando Tomcat5 no Debian Etch

Utilizando aplicativos do VI (editor)

Habilitando Clique Duplo no KDE Plasma 5.14.5

Usando DBDesign no Linux sem instalar

Projeto vídeo aula de Linux no Windows para download

  

Comentários
[1] Comentário enviado por nickmarinho em 15/02/2013 - 11:55h

Dahora cara parabéns eu curtí isso!

www.racaboxer.com.br

www.lucianomarinho.com.br

[2] Comentário enviado por lueneberg em 17/02/2013 - 02:12h

ola, uso linuxmint 14, tive que fazer uma alteração no inicio do script: #!/usr/bin/env python (para ele funcionar no Mint)
ele roda e manda o email, só que aparece muito caracteres extranhos, e nao consigo abrir o link do mapa, como mostra abaixo:

<head>
<meta name="DESCRIPTION" content="View my IP information: MEU IP">
<META NAME="KEYWORDS" CONTENT="geographical, geografica, mapa, google map, google maps, maps, map, ip, hostname, city, location, ip address, direccion ip">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>View my IP information: MEU IP - Geo IP Tool</title>
<link href="/images/estilos.css" rel="stylesheet" type="text/css">
<link rel="image_src" href="http://geoiptool.com/images/screen.png" />

<script type="text/javascript" src="http://vk.com/js/api/share.js?11" charset="windows-1251"></script>

<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAn1GGTNuR0Ls78lQTSm1aZxRSKfi1QmGD0_ReqqiCC-wtqSg_3BSEC0xGArCDV8JW8hevPr9QtQYeJQ" type="text/javascript"></script>
</head>
<body

[3] Comentário enviado por RuizBRX11 em 17/02/2013 - 11:03h


[2] Comentário enviado por lueneberg em 17/02/2013 - 02:12h:

ola, uso linuxmint 14, tive que fazer uma alteração no inicio do script: #!/usr/bin/env python (para ele funcionar no Mint)
ele roda e manda o email, só que aparece muito caracteres extranhos, e nao consigo abrir o link do mapa, como mostra abaixo:

<head>
<meta name="DESCRIPTION" content="View my IP information: MEU IP">
<META NAME="KEYWORDS" CONTENT="geographical, geografica, mapa, google map, google maps, maps, map, ip, hostname, city, location, ip address, direccion ip">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>View my IP information: MEU IP - Geo IP Tool</title>
<link href="/images/estilos.css" rel="stylesheet" type="text/css">
<link rel="image_src" href="http://geoiptool.com/images/screen.png" />

<script type="text/javascript" src="http://vk.com/js/api/share.js?11" charset="windows-1251"></script>

<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAn1GGTNuR0Ls78lQTSm1aZxRSKfi1QmGD0_ReqqiCC-wtqSg_3BSEC0xGArCDV8JW8hevPr9QtQYeJQ" type="text/javascript"></script>
</head>
<body


Aparece todo este código porque eu não fiz o programa selecionar apenas o que é importante (é possível), ele pega toda a página e manda para seu e-mail. Experimente copiar o código todo que foi enviado para um editor de texto, salvar como qualquercoisa.html e abrir no firefox.

O mapa só abre no site porque é um código java de uma ferramenta da google. Vou ver se encontro um jeito de abrir o mapa sem precisar do site inteiro.

[4] Comentário enviado por lueneberg em 17/02/2013 - 11:52h


[3] Comentário enviado por felipeludo2011 em 17/02/2013 - 11:03h:


[2] Comentário enviado por lueneberg em 17/02/2013 - 02:12h:

ola, uso linuxmint 14, tive que fazer uma alteração no inicio do script: #!/usr/bin/env python (para ele funcionar no Mint)
ele roda e manda o email, só que aparece muito caracteres extranhos, e nao consigo abrir o link do mapa, como mostra abaixo:

&lt;head&gt;
&lt;meta name="DESCRIPTION" content="View my IP information: MEU IP"&gt;
&lt;META NAME="KEYWORDS" CONTENT="geographical, geografica, mapa, google map, google maps, maps, map, ip, hostname, city, location, ip address, direccion ip"&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;View my IP information: MEU IP - Geo IP Tool&lt;/title&gt;
&lt;link href="/images/estilos.css" rel="stylesheet" type="text/css"&gt;
&lt;link rel="image_src" href="http://geoiptool.com/images/screen.png" /&gt;

&lt;script type="text/javascript" src="http://vk.com/js/api/share.js?11" charset="windows-1251"&gt;&lt;/script&gt;

&lt;script src="http://maps.google.com/maps?file=api&amp;v=1&amp;key=ABQIAAAAn1GGTNuR0Ls78lQTSm1aZxRSKfi1QmGD0_ReqqiCC-wtqSg_3BSEC0xGArCDV8JW8hevPr9QtQYeJQ" type="text/javascript"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body

Aparece todo este código porque eu não fiz o programa selecionar apenas o que é importante (é possível), ele pega toda a página e manda para seu e-mail. Experimente copiar o código todo que foi enviado para um editor de texto, salvar como qualquercoisa.html e abrir no firefox.

O mapa só abre no site porque é um código java de uma ferramenta da google. Vou ver se encontro um jeito de abrir o mapa sem precisar do site inteiro.



ok, deu certo, não sei se vou falar besteira, mais o google drive permite agora sites, sera que não tem como usar este recurso para gerar um html ou parecido e mandar direto para o google drive ( não sei se é possivel)..

[5] Comentário enviado por thelukas777 em 21/02/2013 - 10:38h

Olá ,fiz alguns testes e observei que infelizmente as informações de latitude e longitude não são exatas ,mas já é de grande valia.


abraço !



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts