`
小麦麦子
  • 浏览: 28931 次
文章分类
社区版块
存档分类
最新评论

spawn类sendline方法详解

 
阅读更多

 

  在spawn这个类中,还有一个方法也就是“sendline”方法,用于像spawn类和运行的程序,发送子命令这个方法。



 

  比如说我们在这个终端中可以运行这么一个带有交互性命令的nslookup,用它可以用来查询百度的IP地址,最后访问exit就可以退出了,那么“www.baidu.com”就相当于nslookup的子命令,查询百度的IP地址,那么exit也是一个子命令,用于退出这个nslookup,那么我们用spawn这个方法进行nslookup以后,就要像nslookup发送子命令“www.baidu.com”,已经exit,我们就需要使用刚刚我们所介绍的sendline



 

  下面我们就在实例中演示一下,首先我们需要启动nslookup,然后我们看它是否启动成功,如果启动成功的话,就返回一个大于符号的字符,也就是nslookup的子命令的提示符,所以我们调用expect来替代大于符号这个提示符,返回0说明子命令已经正确启动,那么它就会收到提示符大于符号,然后我们将“www.baidu.com”作为子命令,发送给nslookup,所以我们这个时候调用“child.sendline”发送的字符串是“www.baidu.com”,然后在进行调试,最后匹配成功,“www.baidu.com”这条子命令的运行,这条域名的查询已经完成了,然后我们就来查看匹配的结果。



 

  那么对于这个nslookup如果可以更改,我们的服务器就可以进行查询了,更改的方法就是进行调用server这个子命令。



 

  这个子命令是server指定为8.8.8.8,作为域名服务器来进行查询,然后我们同样的来期待子命令的提示符的出现,先查看子命令执行的结果,那么说明它已经将默认的ds服务器设置为8.8.8.8,我们还可以再次查询“www.baidu.com”的域名。



 

  首先,提示符出现,然后查看查询的结果,然后回车就会出现查询的结果,可以看到和刚刚是一致的。然后我们还需要输入代码退出nslookup,我们需要输入代码“child.”sendline‘exit’)这样nslookip子命令就退出了。

 

 

文章来源:麦子学院

原文链接:http://www.maiziedu.com/wiki/library/sendline/

  • 大小: 115 KB
  • 大小: 64.2 KB
  • 大小: 53.3 KB
  • 大小: 83.6 KB
  • 大小: 128 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics