客户端-远程登录监控是一款python写的监控win服务器是否被远程登录的工具,查看及监控服务器被远程登录动态,由于在项目开发过程中,不少人接触到服务器登录密码,必要时候要收回密码,确保服务器的安全。
server:
服务端需要python环境,测试环境为3.8.7。具体版本自测。
本来也是要打包exe,可是pyinstaller打包之后运行一直报错,如下图1。大佬可自行打包
server没有写配置文件
使用web.py编写的简易api,默认web为http://localhost:8080
如果需要自定义端口,在cmd运行,防火墙放行对应端口
异常,err什么的都没有做处理,有需要的可以自行改源码捕捉
【template】文件夹中为web.py的模板文件,用于生成html
有客户端提交后自动生成【log/client_ip】文件夹,日期为文件名的log,保存了客户端ip,登陆者ip,提交时间
没有更改端口需求的,布置好python环境后,直接双击server.py即可
client:
确保【config.ini】同目录存在,修改其中的server配置(IP:port),后面的api不用动,server定义的
确保服务端已运行,且网络连通,否则client会闪退(因为连不上server)
可以自定义设置检查频率,单位秒,默认120s
直接运行打包好的client.exe即可
1、服务端运行时
2、通过浏览器访问主页时,默认未有客户端提交数据
3、手动通过浏览器使用get提交数据,server返回字典,也是写入log中的内容
客户端IP,客户端提交的远程登录IP,提交时间
4、然后手动刷新主页(不会写自动更新),就能看到已提交客户端和登陆这ip
5、客户端运行时,没有被登录会提交【Nobody】
时间,web状态码,server返回的字典
6、自动生成log
思路:
client:
python会打开cmd执行netstat过滤已建立连接的3389端口,然后没有就返回Nobody。
有的话过滤本地端口是3389的连接ip,requests.get提交给server。死循环,默认120s检查一次
server:
启动web,默认监听8080,设定提交api,http://server_ip:port/api/login/login_ip。
收到客户端数据,获取客户端ip,向登陆缓存中写入或更新以【客户端ip】为键,键值为【登录者ip】、【提交时间】
用登陆缓存去循环table_td模板获取表格内容,将内容套入index模板,更新主页内容
将更新的对应客户端缓存写入对应日志,向客户端返回缓存
公司办公网到生产网,需要通过 10.10.50.0/24 的win操作机,然后在操作机登录堡垒机才能连接到生产网。
操作机都是没开多用户的,所以远程登陆之前并不知道有没有人在使用该操作机,所以写了这个小工具。
1、给客户端写了GUI,用站内WxPython中文可视化编辑器1.2的工具生成的GUI主体
2、如果服务端未启动时,现在启动客户端不会闪退,可以在“开始”后看到“请检查与服务端的网络连接”的log
3、启动时从配置文件读取配置,GUI可以配置参数,可以保存到“config.ini”
4、使用子线程处理“检查登录IP”和“提交给服务端”的任务
5、运行过程中可以“停止”子线程,更改配置后,点“开始”会刷新配置,而不需要重启程序(写入配置文件需要手动保存)