免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: OYXin
打印 上一主题 下一主题

关于Net::Telnet 模块的一个问题. [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-05-10 17:06 |只看该作者

关于Net::Telnet 模块的一个问题.

啊 啊 啊 啊 啊   快告诉我 怎样使用这个模块啊!

我今天搜了一天了  好累啊

谢谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
12 [报告]
发表于 2003-05-10 21:08 |只看该作者

关于Net::Telnet 模块的一个问题.

http://search.cpan.org/author/JROGERS/Net-Telnet-3.03/lib/Net/Telnet.pm

看看吧....
這個module只能匹配
login:
password:
這樣子的login模式..如果是cisco的
username:
password:
就不能用了.....

论坛徽章:
0
13 [报告]
发表于 2003-05-13 14:45 |只看该作者

关于Net::Telnet 模块的一个问题.

原帖由 "apile" 发表:
http://search.cpan.org/author/JROGERS/Net-Telnet-3.03/lib/Net/Telnet.pm

看看吧....
這個module只能匹配
login:
password:
這樣子的login模式..如果是cisco的
username:
password:
就不能用了.....


给我讲一讲吧! 怎么用啊 洋文的看不懂啊 !
怎么不能用于cisco?想用于cisco 该怎么办 ?

论坛徽章:
0
14 [报告]
发表于 2003-05-13 16:02 |只看该作者

关于Net::Telnet 模块的一个问题.

用Expect.pm模块。

论坛徽章:
0
15 [报告]
发表于 2003-05-13 16:23 |只看该作者

关于Net::Telnet 模块的一个问题.

#!/usr/local/bin/perl

use Expect;

my $timeout = 10;
my $delay = 1;
my $cmd         = "telnet";
my @params = qw/localhost 23/;
my $user = "test";
my $pass = "test";

$exp = Expect->;spawn($cmd, @params) or die "Can't spawn $cmd\n";

$exp->;expect($timeout, 'login:');
$exp->;send_slow($delay, "$user\n";
$exp->;expect($timeout, -re=>;'[Pp]assword:');
$exp->;send_slow($delay, "$pass\n";

$exp->;interact();
$exp->;hard_close();

exit 0;

论坛徽章:
0
16 [报告]
发表于 2003-05-13 21:31 |只看该作者

关于Net::Telnet 模块的一个问题.

原帖由 "xiacs" 发表:


给我讲一讲吧! 怎么用啊 洋文的看不懂啊 !
怎么不能用于cisco?想用于cisco 该怎么办 ?


cisco 的有cisco模块
名字叫
net-cisco-telnet
不但可以轻易进路由器,连privilege的分级都能进,放心好了。

论坛徽章:
0
17 [报告]
发表于 2003-05-13 22:28 |只看该作者

关于Net::Telnet 模块的一个问题.

原帖由 "rootstock" 发表:


cisco 的有cisco模块
名字叫
net-cisco-telnet
不但可以轻易进路由器,连privilege的分级都能进,放心好了。




啊  你小子 真厉害啊 !
快给我讲一讲啊 感谢 !  洋文的看不懂  资料的没有 ............

论坛徽章:
0
18 [报告]
发表于 2003-05-13 23:22 |只看该作者

关于Net::Telnet 模块的一个问题.

use Net::Telnet::Cisco;

  my $session = Net::Telnet::Cisco->;new(Host =>; '123.123.123.123');
  $session->;login('login', 'password');

  # Execute a command
  my @output = $session->;cmd('show version');
  print @output;

  # Enable mode
  if ($session->;enable("enable_password" ) {
      @output = $session->;cmd('show privilege');
      print "My privileges: @output\n";
  } else {
      warn "Can't enable: " . $session->;errmsg;
  }

  $session->;close;

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
19 [报告]
发表于 2003-05-14 17:44 |只看该作者

关于Net::Telnet 模块的一个问题.

[quote="xiacs"]

给我讲一讲吧! 怎么用啊 洋文的看不懂啊 !
怎么不能用于cisco?想用于cisco 该怎么办 ?[/quote]


因為Net::Telnet 他的login 匹配模式是
login:
Password:
這是一般Unix like的登入系統模式..但是事實上在網絡上..
存在有許多不同的Switch..他們本身的OS..也有提供所謂的TL1 command..
你要使用這些cmd..就必須要登錄至該系統才可以下指令..
以Cisco為例他的OS叫 IOS...其他不同的系統例如Extreme, UniSphere, Juniper
等等公司所提供的OS..有時後會稱為IOS like..
他的登錄畫面..以IOS為例,只有
Password:
有些Switch不用login會用username..
這時候,針對這兩種情形...
Net::Telnet會死在那邊...因為他匹配不到login:這個字元..
在這種情形下...就需要使用Expect..去批配這種情形..
或用Cisco專用的module..
因此..從以前到現在我都強烈建議使用Expect module..
因為他可以模擬很多種你想不到的狀況...
不過如果你只是要連上Unix like的OS..用NetTelnet就很夠用了..
deathcult 已經提供了Expect的範例..好好研究..你就會了解
TCL語言的好用的地方了..^^

论坛徽章:
0
20 [报告]
发表于 2003-05-14 21:46 |只看该作者

关于Net::Telnet 模块的一个问题.

原帖由 "rootstock" 发表:
use Net::Telnet::Cisco;

  my $session = Net::Telnet::Cisco->;new(Host =>; '123.123.123.123');
  $session->;login('login', 'password');

  # Execute a command
  my @output = $session->;c..........



非常感谢!

我在win下能用到Net::Telnet::Cisco吗?有没有win下的这个模块?那里下载?

另外,如何进入enable模式的命令 我没看懂  给我讲讲吧 !

再次感谢 ! 你们怎么这么厉害啊 ??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP