Openwrt的luci给用户带来了易用的图形化界面,然而Openwrt终归是Linux,命令行依旧是无法抛弃的。
命令行高效,强大,但不够人性化。于是乎,把一些简单常用的功能用c#写了个小程序,一键完成。
以修改一个宽带账号密码为例,首先还是模拟登录SSH。这里用到了SharpSSH这个开源的组件
项目的主页在此http://www.tamirgal.com/blog/page/sharpssh.aspx
里面也有源码下载。下载源码编译一下,得到dll文件,这源码就先放一边了
新建一个c#工程。既然要用SharpSSH,添加引用是必须的,代码自然也要引用相应的命名空间
using Tamir.SharpSsh;
连接很简单,基本设置好地址,用户名,密码就可以了
string IP = "192.168.1.1"; string Username = "Usr"; string Password = "Pwd"; SshStream ssh = new SshStream(IP, Username, Password); ssh.Prompt = "#"; ssh.RemoveTerminalEmulationCharacters = true; ssh.Write("uci set network.vwan"+Number+".username=" + Account); ssh.Flush();
ssh.Write("uci set network.vwan"+Number+".password=" + Account_Pwd);
ssh.Flush();
ssh.Write("uci commit network");
ssh.Flush();
ssh.Write("ifup vwan"+Number);
ssh.Flush();
这里没有读取输出,一键操作嘛,输出不看也罢,测试过没问题就OK了~
以上程序完成的就是简单修改宽带账号密码,保存配置,然后重新拨号的过程。