简易实现windows服务器远程登陆时,发送邮件提醒

对于服务器的远程登陆略感焦虑,怕不安全,所以希望能监控一下。
先说原理:
1.利用任务计划器中当连接到用户会话时的触发器执行bat脚本;
2.利用bat脚本获取基本信息:时间、主机名、用户名、远程登陆IP并输出到日志文件;
3.发送邮件用python来实现,python现成的模块简单好用。

任务计划器的配置就不细写了,Login.bat脚本和Mail.py脚本放在了D:\,脚本内容如下:

Login.bat脚本获取基本信息:

:设置Login日志路径
set login=D:\Login.log

:获取时间及主机名
echo %date%%time% >%login%
echo ^<br^> >>%login%
echo 主机名:>>%login%
for /f %%a in ('hostname') do set my_host_name=%%a
echo %my_host_name% >>%login%
echo ^<br^> >>%login%

:获得登录的用户用于邮件提醒
echo 用户名: %UserName% >> %login%
echo ^<br^> >>%login%

:获取连接到3389端口的IP地址
echo 登录的IP地址: >>%login%

for /f "tokens=3 delims= " %%i in ('netstat -n ^| find ":3389" ^| find "ESTABLISHED"') do (
for /f "tokens=1 delims=:" %%m in ('echo %%i') do (
set RemoteIP=%%m
echo %%m >>%login%
)
)

:可以对IP进行筛选判断后再发邮件,举个栗子:
:内网登陆时不发送邮件提醒(192.168.1.X)
set matchip=192.168.1.

echo %RemoteIP%|findstr %matchip% >nul
if %errorlevel% equ 0 (
echo OK
) else (
:调用py脚本发送邮件
:脚本放在了D盘根目录
python D:\Mail.py %login%
)
::pause

Mail.py脚本来发送邮件:

smtplib现成的模块直接拿来用

import smtplib
import sys
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
from email import encoders

#读取日志文件内容发送邮件
f = open(sys.argv[1], "r")
str = f.read()
f.close()

mail_host = "smtp.qq.com"        #SMTP服务器,以QQ为例
my_from_add = ""  #发件箱
my_to_add = ""     #收件箱
my_title = ""    #主题
my_pass = ""  #QQ授权码,去QQ邮箱开启
my_test= str

def send_email(from_addr, to_addr, subject, password):

    msg = MIMEText(my_test,'html','utf-8')
    msg['From'] = u'<%s>' % from_addr
    msg['To'] = u'<%s>' % to_addr
    msg['Subject'] = subject

    smtp = smtplib.SMTP_SSL(mail_host, 465)
    smtp.set_debuglevel(1)
    smtp.ehlo(mail_host)
    smtp.login(from_addr, password)
    smtp.sendmail(from_addr, [to_addr], msg.as_string())

if __name__ == "__main__":
    # 这里的密码是开启smtp服务时输入的客户端登录授权码,并不是邮箱密码
    # 现在很多邮箱都需要先开启smtp才能这样发送邮件
    send_email(my_from_add,my_to_add,my_title,my_pass)

邮件提醒效果

Loginlog.png

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

  Previous post 鼠标点击特效
Next post   我国各级财政介绍

仅有一条评论

添加新评论

头像

  关于博主

我每天都在思考如何把脑子里的钱存入银行。

  近期评论

  •  sunny: 这是一部不错的电影,感谢博主的分享
  •  sunny: 哇,厉害了,一直想找这些信息,终于知道了 谢谢博主
  •  sunyang: 这部不错的,值得一看
  •  Ryan: 贷款就有钱了 O(∩_∩)O
  •  sunny: 不错的片子
  •  sunny: 看样子,怎么感觉最后一个才是主角~~
  •  sunny: 没钱啊~~
  •  Ryan: 怎么感觉跟以前玩QQ空间一样了
  •  打酱油的路人: 回头我也搞一个
  •  打酱油的路人: 打酱油的路人,踩空间,点个赞

有种脾气叫,不放弃。

梦想是注定孤独的旅行,路上少不了质疑和嘲笑,但那又怎样,哪怕遍体鳞伤也要活的漂亮。

不管现在有多么艰辛,我们也要做个生活的舞者。

命运从来不会同情弱者。

不怕万人阻挡在前方,只怕自己先行投降。