Python通过发邮件通知自己电脑被入侵

我对IT技术有着狂热的追求,虽然现在很渣,但是我有颗钻研的心,例外我还比较喜欢看小说,相信看过最强黑客的人对里面的黑客的技术佩服得无以复加,黑客一般对自己的电脑数据都比较在意,一般都会设置些密码等并在被破解密码后做相应的补救措施,那么我们如何知道自己的电脑被人动过或者被盗呢(假设电脑开始是关机了的),根据我最近的学习找到了实现的方法,并验证成功,废话不多说,来一碗干货。
Python通过发邮件通知自己电脑被入侵_第1张图片

第一步: 写一个批处理来执行一个python文件,要求在联网的情况下才执行该文件(代码)
第二步: 写一个python文件来给自己邮箱发邮件,要求邮件内容有当前时间,电脑ip地址,如果可以的话能获取更多的信息(代码)。
第三步: 将批处理脚本加到开机执行的计划任务中(步骤)。


@echo off
REM 保证是中文环境
chcp 936
REM 后面会添加到计划任务,为了能进入执行脚本的路径
cd /d d:\SVN\Python\trunk\python3.6.5\5.9
REM 保证已经连上网络了
:main
echo %date%-%time% >>test.txt
ping 8.8.8.8 -n 3 >>test.txt
find /i "丢失 = 0" test.txt
REM 联网不成功则继续监视网络环境,直到网络稳定
if %ERRORLEVEL% EQU 1 goto main
python email1.py



#!/usr/bin/env python3
#coding:utf-8
import time
import smtplib
from email.header import Header
from email.mime.text import  MIMEText
from email.mime.multipart import MIMEMultipart
import requests

mail_host = 'smtp.qq.com'           #邮箱服务器名
mail_user = '[email protected]'      #邮箱用户名
mail_pass = 'xxxxxxxxxxxx'            #登录密码(授权码,这个不是密码,可以百度下怎么获取)
sender = '[email protected]'            #发送者
receivers = ['[email protected]','[email protected]','[email protected]',]    #收件人

headers = {
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36",
}

url = 'https://www.baidu.com/s?ie=utf8&oe=utf8&wd=ip%E6%9F%A5%E8%AF%A2&tn=98010089_dg&ch=1'
def getIpAdress(url):
    page = requests.get(url,headers = headers)
    page.encoding = 'UTF-8-SIG'
    txt = page.text
    flag1 = txt.find("我的ip地址")
    tmp = txt[flag1:flag1+40]
    flag2 = tmp.find("地址")
    flag3 = tmp.find(" ")
    ip = tmp[flag2+2:flag3]
    adress = tmp[flag3+4:tmp.find("市")+1]
    return ip,adress

localtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
(ip,adress) = getIpAdress(url)
content = """
您的电脑已经开机
开机时间是:%s
网络IP:%s
位于:%s
"""%(localtime,ip,adress)

message = MIMEMultipart()
message['From'] = sender
message['To'] = '[email protected]'
subject = u'开机提醒'
message['Subject'] = Header(subject)
message.attach(MIMEText(content))

try:
    print('Connecting...')
    smtpobj = smtplib.SMTP_SSL(mail_host) #连接服务器
    print("登录账户")
    smtpobj.login(mail_user,mail_pass)    #登录账户
    print("发送邮件")
    smtpobj.sendmail(sender,receivers,message.as_string())   #发送邮件
    print("""
        发送人:%s
        接收人:%s
        邮件内容:%s
        """%(sender,receivers,message.as_string()))
    smtpobj.quit()                        #退出登录
    print('邮件发送成功')
except smtplib.SMTPException :
    print('Error:无法发送邮件')


打开cmd窗口,输入taskschd,可以打开计划任务界面,下拉选择一个文件夹,新建任务,
常规:名称随便填,描述随便填,选择不管用户是否登录都要运行(这个需要先给电脑创建密码),
选择隐藏(这样在后台运行,不会在运行时弹出批处理黑框框),配置最好选择windows7,windows Server 2008 R2
开始任务:选择“启动时”
操作:选择启动程序,浏览选择要执行的脚本
最后输入密码即可设置成功!

本次教程到此结束,赶紧去重启下试试效果吧,当然如果你想做在批处理里面加更多的操作就更有意思,就像真正的黑客,一般收到自己电脑被入侵会执行毁灭数据操作一样,只要你批处理研究的深,这些都不是问题,想要学习批处理,请参考我的批处理标准教程

你可能感兴趣的:(Study--ing,python,Python3,#,Glidedsky爬虫挑战)