#!/usr/local/bin/perl use Socket; ############## ここからユーザ環境にあわせて変更する $LOGFILE='/var/adm/mn128/mn128.log'; # MN128-SOHO 出力ログファイル名を指定 $PPP='B1'; # PPP接続チャネル(監視チャネル)を指定 $routeip='192.168.???.???'; # MN128-SOHO IPアドレスを指定 $id='admin'; # MN128-SOHO ユーザIDを指定 $pass='????????'; # MN128-SOHO パスワードを指定 $connect_num='2'; # 接続する電話帳番号を指定 ############## ここまで $proto=getprotobyname('tcp'); $port=23; $thataddr=inet_aton($routeip); $that=pack_sockaddr_in($port, $thataddr); open (LOG,"tail -1f $LOGFILE|"); while () { split; if( ($_[6] eq 'down' && substr($_[4],4,2) eq $PPP) || ($_[6] eq 'terminate' && substr($_[8],7,2) eq $PPP) ) { ### PPP接続処理 ### sleep 5; socket(S, PF_INET, SOCK_STREAM, $proto); connect(S, $that); select(S); $|=1; print S "\n$id\n$pass\nconnect $connect_num\nexit\n"; while(){ print; } close S; } } close LOG;