首页
壁纸
关于
推荐
战略合作
Google
主题Joe
Search
1
涂鸦设备本地化接入(涂鸦电表)
13 阅读
2
CentOS 定时同步指定文件到ftp
6 阅读
3
laydate输入日期年月日时分,以十分钟为间隔,不需要秒
5 阅读
4
记一次Django_cas_ng数据库migrate错误
5 阅读
5
Centos7 安装python3并配置pip
4 阅读
运维
Windows
Linux
MacOS
Android
vmware
开发
Python
Go
Html
Electron
智家
HomeAssistant
ESPhome
Unraid
群晖
网络相关
登录
Search
标签搜索
运维
Linux
Python
django
智能家居
Nginx
MACos
brew
layui
cas
群晖
nas
zabbix
vim
JDK
sonar
jenkins
Nexus
转发
mysql
Ruike
累计撰写
29
篇文章
累计收到
109
条评论
首页
栏目
运维
Windows
Linux
MacOS
Android
vmware
开发
Python
Go
Html
Electron
智家
HomeAssistant
ESPhome
Unraid
群晖
网络相关
页面
壁纸
关于
推荐
战略合作
Google
主题Joe
搜索到
2
篇与
的结果
2023-09-21
Windows远程登录提醒
由于RDP远程桌面功能非常方便,但又存在较高风险,只能通过提高安全防护,避免造成损失。本文记录一种邮件提醒远程登陆的方法和过程。工作原理:1.利用windows的计划任务功能,当远程登陆的时候,调用指定的程序;2.此处调用的是python脚本,利用python来完成发送邮件的功能;3.在python脚本中调用一个EXE小程序来获取登陆信息(用户名,客户端名称等信息)————————————————原文链接:https://blog.csdn.net/qq446252221/article/details/112810295一、获取远程登陆信息第一步:写一个EXE小工具,获取远程登陆信息使用C语言编写,通过win32底层API读取客户端信息;并把信息打印到标准输出以便后面python读取。这个方法不能获取到准确的客户端IP地址,这里的IP地址其实是内网地址。暂时还没有找到如何获取客户端公网IP的办法。完整的C语言源码如下(只支持Windows Vista及以上系统版本):#include <stdio.h> #include <Windows.h> #include <wtsapi32.h> #pragma comment(lib, "wtsapi32.lib") static const char *af_str[]= { "AF_UNSPEC", "AF_UNIX", "AF_INET", "AF_IMPLINK", "AF_PUP", "AF_CHAOS", "AF_IPX", "AF_NS", "AF_ISO", "AF_OSI", "AF_ECMA", "AF_DATAKIT", "AF_CCITT", "AF_SNA", "AF_DECnet", "AF_DLI", "AF_LAT", "AF_HYLINK", "AF_APPLETALK", "AF_NETBIOS", "AF_VOICEVIEW", "AF_FIREFOX", "AF_UNKNOWN1", "AF_BAN", }; void main(void) { DWORD cbReturned; PWTSCLIENTA pData; if(WTSQuerySessionInformationA(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, WTSClientInfo, (LPSTR*)&pData, &cbReturned)) { printf("UserName:%s\r\n", pData->UserName); printf("ClientName:%s\r\n", pData->ClientName); printf("ClientBuildNumber:%d\r\n", pData->ClientBuildNumber); printf("ClientAddressFamily:%s\r\n", af_str[pData->ClientAddressFamily]); printf("ClientAddress(raw):%d.%d.%d.%d\r\n", pData->ClientAddress[0],pData->ClientAddress[1],pData->ClientAddress[2],pData->ClientAddress[3]); printf("ClientAddress(str):%ls\r\n", pData->ClientAddress); WTSFreeMemory(pData); return; } printf("WTSQuerySessionInformationA Failed!\r\n"); printf("Error:%08X\r\n", GetLastError()); //system("pause"); } 二、发送提醒第二步:写一个python脚本,调用上面的小工具,并读取输出,然后发送通知,这里使用了企微的群机器人#!/usr/bin/env python3 # _*_ coding: utf-8 _*_ # @Author : Ruike # @Time : 2023/9/21 16:35 # @File : rdp_notice.py # @Project :获取RDP登陆信息,并发企微提醒 import subprocess import requests import datetime import re # 设备名称 DEVICE = "xxxx" # 企微机器人KEY KEY = "xxxxxx" # 指定EXE小工具的路径 RDPINFO_EXEPATH = "rdp_info.exe" # 获取登陆信息 def get_login_info(): out = subprocess.check_output(RDPINFO_EXEPATH, timeout=3) context = out.decode("utf8") if 'Error:' not in context: key_list = ('登录用户', '设备名称', '设备序号', '地址系列', '设备IP(raw)', '设备IP(str)') datas = re.findall(r":(.*?)\n", context) data_len = len(datas) if len(key_list) == data_len: context = '' for i in range(data_len): context += "%s: %s\n" % (key_list[i], datas[i]) else: # 如果匹配不上,直接使用替换法 keys = { 'UserName': '登录用户', 'ClientName': '设备名称', 'ClientBuildNumber': '设备序号', 'ClientAddressFamily': '地址系列', 'ClientAddress(raw)': '设备IP(raw)', 'ClientAddress(str)': '设备IP(str)' } for k, v in keys.items(): context = context.replace(k, v) else: # 如果有异常或其它情况,直接原数据返回 pass return context # 企业微信机器人 def send_groupbot(key, content): bot_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=%s" % key datas = { "msgtype": "text", "text": { "content": content, } } req = requests.post(bot_url, json=datas, auth=('Content-Type', 'application/json')) return req.text # 程序入口 if __name__ == '__main__': time_str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') info_str = get_login_info() msg = "%s被登陆提醒\n%s\n登录时间:%s" % (DEVICE, info_str, time_str) send_groupbot(KEY, msg) 三、配置触发在windows计划任务里面添加任务,当远程登陆时调用我们的python脚本。1.打开“计算机管理”,找到"任务计划程序",点击“创建任务”2.名称随便写,比如“远程登陆提醒”3.设置“触发器”,如下图所示,选择“当连接到用户会话时”,“远程计算机的连接”触发器执行条件记得需要将exe和py文件放在同个目录最后点击“确定”,计划任务就添加好了。四、微信通知企微可以做微信插件通知,登录企微后台-我的企业-微信插件,按照提示关注即可。微信端可以自己看到的消息类型是text和图文消息。
2023年09月21日
4 阅读
0 评论
0 点赞
2021-03-13
PE exLoad命令
一、添加程序的方式有很多种,都很方便,选其一:直接在U盘根目录新建一个PETOOLS文件夹,把你的程序放进去,如果要写下面的代码,就在PETOOLS文件夹里面新建一个文本,重命名为exload.cfg,将代码写进去,PE启动后会自动识别你也可以在优启通软件的根目录新建一个PETOOLS文件夹,将你的程序进去,同样要写代码就在里面新建一个文本,重命名为exload.cfg,制作的时候,优启通会自动帮你整合进去当然,你也可以将PETOOLS.7z解压,把你的程序打包进去,同时修改里面的exload.cfg,打包好覆盖源文件最后,你还可以将你的程序独立打包成 PETOOLS_程序名称.7z,放到和PETOOLS.7z一起的文件夹内,优启通会自动识别,目录结构可以参考里面的 PETOOLS_DG.7z或PETOOLS_EIX2.7z等以上4种方式都是可以同时识别的,也就是说你4种方式一起使用也没问题如果你添加的软件不多,只有几个,那么不需要写任何代码,程序会自动帮你创建快捷方式。二、各种启动方式1. 我想创建一个exe的快捷方式在开始菜单上,名称为 “一键还原”exe程序在 PETOOLS\GHOST\ONEKEY.EXE,但我们不需要指定路径,直接写exe文件名就可以了,EXLOAD会自动定位它在什么地方,除非你有同名的exe文件才需要指定路径ONEKEY.EXE=一键还原2. 还是上面那个程序,我想它创建在开始菜单的分类文件夹里面,这个分类为“备份还原”ONEKEY.EXE=备份还原\一键还原3. 上面两个都只是创建在开始菜单,我想创建在桌面上怎么弄?名称依然叫“一键还原”另起一行写上(中间那个是英文逗号)ONEKEY.EXE=一键还原,desktop4. 上面那个desktop英文那么难记,我是英盲怎么办?没关系,你也可以这样写ONEKEY.EXE=一键还原,桌面 或者 ONEKEY.EXE=一键还原,dt5. 我的程序很多很多,桌面上一大堆很不爽,能不能在桌面上建立一个文件夹“我的工具”,把快捷方式放进去?ONEKEY.EXE=我的工具\一键还原,dt6. 但是上面这个创建出来的文件夹是普通文件夹的图标,我想改成自己喜欢的图标怎么办?图标名称为 123.icoONEKEY.EXE=我的工具\一键还原,dt,&123.ico7. 我想把这个程序锁定到任务栏,怎么办?ONEKEY.EXE=一键还原,TaskBand8. TaskBand英文这么长,我是英盲记不住怎么办?ONEKEY.EXE=一键还原,tb 或 ONEKEY.EXE=一键还原,任务栏9. 我的程序分成x86和x64,并且我希望x86仅创建在x86的PE里面,x64仅创建在x64的PE里面,怎么办?例如:onekey32.exe和onekey64.exe,分别代表x86和x64 onekey32.exe=一键还原,x86 onekey64.exe=一键还原,x6410. 上面那个x86的“x”怎么输入?是什么符号?乘号吗?当然你也可以这样写onekey32.exe=一键还原,32 onekey64.exe=一键还原,6411. 我想在创建快捷方式的时候同时设置一个快捷键,快捷键为Alt+D,怎么写?ONEKEY.EXE=一键还原,dt,Alt+D12. 我希望我双击运行这个快捷方式的时候,让它带着参数运行,例如 onekey.exe /z9ONEKEY.EXE=一键还原,dt,</z9>13. 我希望程序在PE启动时直接运行,并且带着参数,例如onekey.exe /z9 ONEKEY.EXE=一键还原,dt,</z9>,run14. 假如上面那个程序带有流氓性质,我希望用户运行PE时不要看到它运行,怎么办?ONEKEY.EXE=一键还原,dt,</z9>,run,hide15. 什么dt、什么run、什么hide,我是英盲记不住怎么办?ONEKEY.EXE=一键还原,桌面,</z9>,运行,隐藏 或 ONEKEY.EXE=一键还原,dt,</z9>,r,h16. 我的程序有几个名称一样的,怎么让EXLOAD知道我想创建谁?例如:FastCopy\x86\FastCpy.exe和FastCopy\x64\FastCpy.exe,他们的exe名称是一样的 FastCopy\x86\FastCpy.exe=快速复制(32位) FastCopy\x64\FastCpy.exe=快速复制(64位)17. 我不想创建快捷方式,我只想单纯的运行它,怎么办?@ONEKEY.EXE18. 我希望它运行的时候,带着参数运行,例如 ONEKEY.EXE /z9@ONEKEY.EXE,</z9>19. 这个程序带有流氓性质,我不希望用户看到它运行,怎么办?@ONEKEY.EXE,</z9>,hide20. 我有x86和x64两个程序,我希望x86在x86的PE下运行,x64在x64的PE下运行,怎么办?例如 onekey32.exe和onekey64.exe,分别代表x86和x64@onekey32.exe,x86 @onekey64.exe,x64
2021年03月13日
4 阅读
0 评论
0 点赞