2010年2月18日 星期四

Perl Telnet 範例

(一)使用情形:
使用Perl 提供的 telnet 模組自動登入到網路上的某台主機,執行命令後把結果給傳回。

(二)使用環境:
client:ubuntu9.04
server:centos5.4

(三)注意事項:

1 server端必須裝有telnet server
2 server端必須開啟防火牆的23 port


(四)Server端的配置:

1啟動telnet服務:
(i) 將“disable = yes” 改為“disable = no"
[root@CentOS5 /]#vi /etc/xinetd.d/telnet 

(ii) 重新啟動服務
[root@CentOS5 /]#service xinetd restart 

2 開啟防火牆23 port:

(i) 編輯檔案

[root@CentOS5 /]#vi /etc/sysconfig/iptables  

(ii) 加入以下的規則(注意:不能加到最底下)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23
-j ACCEPT 

(iii)重新啟動iptable

[root@CentOS5 /]#service iptables restart 


(五)client code:


  1. #!/usr/bin/perl
  2. use Net::Telnet();
  3. my $t = new Net::Telnet(Timeout => 10 , Prompt => '/[\$#>]/');
  4. $t->open("192.168.2.104");
  5. $t->login('root', 'n123815798');
  6. @lines = $t->cmd("ifconfig");
  7. print @lines;

沒有留言:

張貼留言