利用windows的计划任务和eKing.CmdReadFileAndSendEmailOper(控制台小程序)实现远程登录服务器的邮件告警提醒

时间:2023-03-09 03:38:28
利用windows的计划任务和eKing.CmdReadFileAndSendEmailOper(控制台小程序)实现远程登录服务器的邮件告警提醒

一、场景摘要:

1、windows计划任务中,有一个用户登录时候触发的事件
2、cmd命令:netstat -ano   | find "3389" 可以看到当前远程登录的IP
3、bat脚本中:set loginUserId=%UserName%   可以获得当前的登录用户名
4、利用eKing.CmdReadFileAndSendEmailOper实现读取文件和邮件发送提示
5、利用bat实现被windows计划任务触发执行
原文链接:
二、相关下载和链接:
https://svn.lookdaima.com:8443/!/#Cmds/view/head/CSharp/Common/eKing.CmdReadFileAndSendEmailOper(user/123)
https://svn.lookdaima.com:8443/!/#Cmds/view/head/CSharp/Common/eKing.CmdReadFileAndSendEmailOper
https://github.com/fuzhx/cmds/tree/master/CSharp/Common/eKing.CmdReadFileAndSendEmailOper
https://github.com/fuzhx/cmds/tree/master/CSharp/Common/eKing.CmdReadFileAndSendEmailOper
三、程序目录截图:
1、bat.log:计划任务执行后的输出日志
2、eKing.CmdDes3EncryptOper.exe:辅助小工具,实现邮箱密码的des3加密
3、eKing.CmdReadFileAndSendEmailOper.exe:读取loginip.log的内容并发送邮件
4、login.bat:计划任务的批处理脚本
5、loginip.log:login.bat执行时候输出的内容,有登录IP和当前服务器的IP(避免服务器过多,混淆的情况)
bat.log的内容:

bat.log

C:\Windows\system32>echo user.login 
user.login

C:\Windows\system32>set loginUserId=Administrator

C:\Windows\system32>echo Administrator 
Administrator

C:\Windows\system32>netstat -ano | find "3389" 1>C:\Cmds\CS\common\login\loginip.log

C:\Windows\system32>ipconfig -all 1>>C:\Cmds\CS\common\login\loginip.log

C:\Windows\system32>C:\Cmds\CS\common\login\eKing.CmdReadFileAndSendEmailOper.exe EmailName=qq89616537 EmailSmtpServer=smtp.163.com EmailSend=qq89616537@163.com EmailPwd=***** EnableSsl=false EmailRecv=89616537@qq.com;qq89616537@163.com; EmailTitle="{DateTime.Now}-用户Administrator 远程登录119.29.88.48(看代码网)服务器" EmailText=远程访问服务器提示 EmailEncoding=gb2312 HtmlFlag=false PwdTextType=des3 EmailTextType=file DirFullName=~/ FileNameExpress=login*.log ReadFileEncoding=gb2312 EmailTextFileMaxLength=0 FileNameToLower=true 
操作成功

login.bat的内容:

login.bat

:用户登录服务器邮件通知 
echo user.login

:获得登录的用户 
set loginUserId=%UserName% 
echo %loginUserId%

: 输出远程的IP
netstat -ano | find "3389" > C:\Cmds\CS\common\login\loginip.log

:输出Ip
ipconfig -all >> C:\Cmds\CS\common\login\loginip.log

C:\Cmds\CS\common\login\eKing.CmdReadFileAndSendEmailOper.exe EmailName=qq89616537 EmailSmtpServer=smtp.163.com EmailSend=qq89616537@163.com EmailPwd=**** EnableSsl=false EmailRecv=89616537@qq.com;qq89616537@163.com; EmailTitle="{DateTime.Now}-用户%loginUserId%远程登录119.29.88.48(看代码网)服务器" EmailText=远程访问服务器提示 EmailEncoding=gb2312 HtmlFlag=false PwdTextType=des3 EmailTextType=file DirFullName=~/ FileNameExpress=login*.log ReadFileEncoding=gb2312 EmailTextFileMaxLength=0 FileNameToLower=true

 
loginip.log的内容

loginip.log

TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 3756
TCP 10.135.87.157:3389 61.186.27.212:42758 ESTABLISHED 3756
TCP [::]:3389 [::]:0 LISTENING 3756
UDP 0.0.0.0:3389 *:* 3756
UDP [::]:3389 *:* 3756

Windows IP 配置

主机名 . . . . . . . . . . . . . : 10_135_87_157
主 DNS 后缀 . . . . . . . . . . . : 
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否

以太网适配器 以太网:

连接特定的 DNS 后缀 . . . . . . . : 
描述. . . . . . . . . . . . . . . : Tencent VirtIO Ethernet Adapter
物理地址. . . . . . . . . . . . . : 52-54-00-2B-60-FE
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::3150:c7ba:927e:8325%13(首选) 
IPv4 地址 . . . . . . . . . . . . : 10.135.87.157(首选) 
子网掩码 . . . . . . . . . . . . : 255.255.192.0
默认网关. . . . . . . . . . . . . : 10.135.64.1
DHCPv6 IAID . . . . . . . . . . . : 340939776
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-21-8A-D1-DF-52-54-00-2B-60-FE
DNS 服务器 . . . . . . . . . . . : 10.225.30.181
10.225.30.223
TCPIP 上的 NetBIOS . . . . . . . : 已启用

隧道适配器 isatap.{CBE3395E-CAD3-4F82-8C9C-5FF8A258E753}:

媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . : 
描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter
物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是

四、计划任务的配置:
发生的
1、打开控制面板
2、点击计划任务
3、点击创建任务
4、设置常规
5、新建触发器
6、设置触发器
7、新建操作
8、设置操作
9、输入操作系统密码确认
其中:
设置操作的输入项参考:
C:\Cmds\CS\common\login\login.bat
> C:\Cmds\CS\common\login\bat.log
另附上:
Des3实现密码的加密操作
Des3密钥:ekinglbs2018tool
五、发送邮件效果:
六、参数设置:
EmailName:发送人的邮箱帐号|如:qq89616537
EmailSmtpServer:SMTP服务|如:smtp.163.com
EmailSend:发送人的邮箱帐号|如:qq89616537@163.com
EmailPwd:邮箱密码 |如:明文或des3加密
EnableSsl:使用Ssl模式|布尔类型|如:fasle 
EmailRecv:接收人邮箱帐号|如:89616537@qq.com;qq89616537@163.com;
EmailTitle:邮件标题 |如:{DateTime.Now}-用户%loginUserId%远程登录119.29.88.48(看代码网)服务器
EmailText:邮件内容|如:远程访问服务器提示
EmailEncoding:邮件编码|如:gb2312/或utf8
HtmlFlag:内容为Html模式|布尔类型|如:false
PwdTextType:密码内容类型|text:明文;des3:des3加密|如des3
EmailTextType:邮件内容类型 |text:纯文字;file:文件|如:text
DirFullName:完整的Dir名称|D:\one(无后缀)|或:~/执行程序所在的目录
FileNameExpress:文件名表达式|如:*_bak.log
ReadFileEncoding:读取文件编码|如:gb2312
EmailTextFileMaxLength:读取的文件允许最大值|长整型|同文件的FileLength做比较|字节做单位|0代表不限
FileNameToLower:文件是否小写比较|布尔类型|如:true