客戶端-遠程登錄監控是一款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、運行過程中可以“停止”子線程,更改配置后,點“開始”會刷新配置,而不需要重啟程序(寫入配置文件需要手動保存)