linux命令从哪里敲,Linux 笔记本基于“敲打”的命令

主程序的逻辑

利用这些子程序主程序的逻辑允许用户创建敲打序列或在守护模式下监听敲打序列并执行命令第一部分是在用户指定 c 选项(用于创建模式)时执行的可以用简单的超时进程来结束敲打序列增大最大超时长度变量的值可以让两次敲打序列之间暂停 秒以上如果我们保留最大超时长度为 秒那么程序运行到这个时间时就会结束并打印当前输入的敲打序列

清单 创建序列主逻辑

if( $option eq c ){ print create a knock pattern:\n; $startTime = getEpochSeconds(); # reset time out start while( $timeOut == ){ $currTime = getEpochSeconds(); # check if there has not been a knock in a while if( $currTime $startTime > $MAX_TIMEOUT_LENGTH ){ $timeOut = ; # exit the loop }else{ # if a knock has been entered before timeout reset timers so # more knocks can be entered if( $knockCount != $knockAge ){ $startTime = $currTime; # reset timer for longer delay $knockAge = $knockCount; # synchronize knock counts }# if a new knock came in }# if timer not reached knockListen(); select(undef undef undef $SLEEP_INTERVAL); }#timeOut = if( @baseKnocks ){ print place the following line in $ENV{HOME}/knockFile\n\n; for( @baseKnocks ){ print $_ } print _#_ (command here) _#_ \n\n; }#if knocks entered

第二部分是用来在一个无限循环中监听敲打序列的主逻辑它在一个循环中大约要睡眠/ 秒在这个循环中还使用了一个基于秒的超时在足够的延时之后重置敲打序列注意在这个例子中敲打监听超时时间为 秒而最大超时时间为 秒这样就提供了在敲打创建模式下进行简单测试设置的功能并为敲打序列的监听模式提供了一个快速重置选项

清单 主程序中的敲打监听代码

}else{ # main code loop to listen for knocking and run commands readKnockFile(); $startTime = getEpochSeconds(); while( $timeOut == ){ $currTime = getEpochSeconds(); if( $currTime $startTime > $LISTEN_TIMEOUT ){ $knockCount = ; @baseKnocks = (); $startTime = $currTime; if( $option ){ printlisten timeout resetting knocks \n } }else{ if( $knockCount != $knockAge ){ $startTime = $currTime; # reset timer for longer delay $knockAge = $knockCount; # synchronize knock counts }# if a new knock came in compareKnockSequences(); }#if not reset timeout knockListen(); select(undefundef undef $SLEEP_INTERVAL); }#main knock listen loop }# if create or listen for knocks

警告安全性

knockAge 程序非常适合用于为系统提供一种额外的用户输入通道然而需要注意的是使用 knockAge 来做任何事都需要在系统上进行认证是的它可以防止密钥记录程序监听密码的问题但是很多与 敲打认证 有关的因素都表明在对安全性敏感的环境中使用这种技术还不够成熟敲打序列目前是以 到 个数字在 ~/knockFile 中进行存储的它们以毫秒为单位来表示延时这个 密码 文件非常容易读取并且通过尝试和匹配敲打模式可以获得对系统的访问权限排除毫秒值中一些精度是一种可用的方法但是这种练习就留给那些希望自行对系统风险进行评估的读者好了

在任何敏感环境中我们都应该进行一些研究判断用户是否有足够的应变能力并能够精确地重现敲打序列例如我们是否具有能力创建并连续输入可接受长度的敲打密码?具有普通智商的人是否可以直观地使用这种敲打序列?或者我们是否准备使用 刮脸和理发操作 来作为密码?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值