faketime时间同步

本文介绍了如何在Docker容器环境中使用faketime进行时间同步。当上游核心系统的营业日期变动时,下游应用需要跟随调整。由于容器化后不能直接修改容器时间,文章提出通过上游应用提供时间接口,下游应用获取时间并与自身对比,若不一致则使用faketime更改。详细步骤包括构建基础镜像、设置环境变量LD_PRELOAD以及在客户端调用接口同步时间。
摘要由CSDN通过智能技术生成

具体业务场景

  • 上游核心系统每天会执行多个跑批任务,营业日期有时会发生变动,下游应用系统的时间需要跟着核心变动,先前应用落在裸金属/虚拟机中,系统管理员可直接执行 date 命令对节点时间进行更改
  • 应用容器化改造后,管理员无法直接直接更改容器内时间(提示没有权限),且容器内是共享主机时间,所以主机时间也不可能进行更改(会影响其他应用系统)
    faketime描述 参考链接
  • libfaketime 是截断应用进程去调用系统日期、时间,并且可以使用自身 faketime 、环境变量等多种方式 为应用进程自定义时间的一种手段
    具体实现逻辑
  • 上游应用提供接口给到下游应用系统,然后下游应用系统获取时间,判断自身时间与其是否一致,不一致进行更改,从而实现应用自动调整应用内时间,无需人工干预
    基础镜像的构建
    Coreapp-Dockerfile-上游
    FROM python:3.7.11
    COPY ./site-packages /usr/local/lib/python3.7/site-packages/
    WORKDIR /app/
    COPY coreapp_api.py /app/
    EXPOSE 3000
    CMD [“python3.7 /app/coreapp_api.py”]
    Coreapp_api.py(时间接口)-上游应用

-- coding: utf-8 --

@Time : 2021/11/3 15:38

@FileName: coreapp_api.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
国外网友基于faketime做的burp loader的unlimited版本. 需要一堆dll或者so. 详情见如下描述,没有分的可以去github上找. ======================== BurpUnlimited version 1.7.26 release 1.0 + Created by: mxcx@fosec.vn + Email: mxcxvn@gmail.com + Based on: BurpLoader by larry_lau + Github: https://github.com/mxcxvn/BurpUnlimited it's opensource ======================== This project is NOT intended to replace BurpLoader. It just EXTENDS BurpLoader's license! To run the project from the command line: java -javaagent:BurpUnlimited.jar -agentpath:lib/libfaketime -jar BurpUnlimited.jar or double click on BurpUnlimited.jar (set permision before) ## Notes: - There are some requirements files in lib at current folder: + burpsuite_pro_v1.7.26.jar is main object + libfaketime* Lib for hook time activation. Sourcecode is at https://github.com/faketime-java/faketime - For windows, vcredist is required: https://www.microsoft.com/en-gb/download/details.aspx?id=48145 - The folder for_windows_if_you_dont_wanna_install_vcredist is for anyone who don't wana install vcredist, please chose the file for x64 or x86, rename to vcruntime140.dll and copy to BurpUnlimited.jar's folder - To have no unexpected error, please leave all file in the folders which have not any space character (including java binary file in case not run with default java). - This version is tested run stable on MACOSX 64 bit, Ubuntu 64 bit, Windows 64 and 32 bit. If you have any error in starting, please try some ways: + Change manually your datetime to before 01/10/2017 + Build your own libfaketime, sourcecode is at https://github.com/faketime-java/faketime + Or contact me mxcxvn@gmail.com ## Hash MD5 version release 1 BurpUnlimited.jar 5cf68ad0cc2d4ee265d0da1469decf21 lib/ burpsuite_pro_v1.7.26.jar 5d1cbbebc7fb59a399ae7bcacbe05f74 libfaketime32.dll e3842711a065b672dec322c4140b950f libfaketime32.jnilib d2b62d06a972035149bfdefe1605c041 libfaketime32.so 5c2baa272037207533d74faa4291e91d libfaketime64.dll 6659efeee9698609a9ffd9ea8c9d07d1 libfaketime64.jnilib ff3dbde6a28f1c59d829cf5665c8e628 libfaketime64.so 5c2baa272037207533d74faa4291e91d for_windows_if_you_dont_wanna_install_vcredist/ vcruntime140_x32.dll b77eeaeaf5f8493189b89852f3a7a712 vcruntime140_x64.dll 6c2c88ff1b3da84b44d23a253a06c01b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值