开源库libcli的安装与使用

源码:https://github.com/dparrish/libcli

环境

Ubuntu 20.04.2 LTS

编译libcli

参考:README.md

按照libcli中的 README

$ make
$ make install

测试libcli

源码中提供了测试程序

libcli$ ls
clitest      <<< 测试程序
clitest.c    

由于测试程序只能在telnet远程连接VM时才有效,需要先在VM中安装telnet。

VM安装telnet

# apt-get install telnetd

# apt-get install xinetd

# service xinetd status
● xinetd.service - LSB: Starts or stops the xinetd daemon.
     Loaded: loaded (/etc/init.d/xinetd; generated)
     Active: active (running) since Thu 2021-09-23 02:27:03 UTC; 1min 30s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 1 (limit: 4582)
     Memory: 1.4M
     CGroup: /system.slice/xinetd.service
             └─4206 /usr/sbin/xinetd -pidfile /run/xinetd.pid -stayalive -inetd_compat -inetd_ipv6

安装telnet完成。

启动测试程序

libcli$ ./clitest 
Listening on port 8000

程序启动了一个telnet服务端,监听着端口:8000。接下来,用telnet远程端口8000就可以进入CLI主界面。

登录CLI界面

这里远程软件用的是xshell,设置为telnet远程连接

注意VM中clitest程序要保持运行,连接后直接进入cli登录界面。

//使用默认的用户名/密码登录
Username: fred
Password: nerk

//测试CLI命令
router> help

遇到过的问题

启动测试程序出错

libcli$ ./clitest 
./clitest: error while loading shared libraries: libcli.so.1.10: cannot open shared object file: No such file or directory

原因:VM没有安装telnet。
解决办法:安装完telnet后再启动测试程序。

原文地址:https://www.cnblogs.com/liqinglucky/p/15327826.html