linux程序绑定硬件id,Linux:在系统上设置hostid?

假设你所指的是传统的unix hostid.如果我想将软件绑定到一个系统,我会使用加密狗或一些更强大的方法来识别一个看起来像hostid的系统是非常随意的,但是..

使用库调用“gethostid”检索hostid.它只是一个通用值,如果未设置将基于主机系统的ipv4地址.

见“man 2 gethostid”

In the glibc implementation,if gethostid() cannot open the file containing the host ID,then it obtains the hostname using gethostname(2),passes that hostname to gethostbyname_r(3) in order to obtain the host’s

IPv4 address,and returns a value obtained by bit-twiddling the IPv4 address. (This value may not be unique.)

您可以将文件/ etc / hostid放在您想要的值的位置(可能与您捐赠盒子上’hostid’程序的内容相同),将其自己设置为您想要的任何内容.

设置它虽然有点小问题..文件需要hostid的压缩二进制表示.

我使用python但你可以做任何事情……(很确定有人知道打印压缩字节更简单的方法).

from struct import pack

f = open('/etc/hostid','w')

f.write(pack('i',12345))

f.close()

这将以一种方式设置hostid,gethostid将返回与捐赠框相同的值作为迁移框.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值