|
|
我是江苏无锡的,这里的电信使用web登录。我的同事为了在linux下上网,在查阅了坛子里相关帖子后写了一个登录用的脚本,取名keep,他的系统是RH9.0,正常通过,而我的MDK10.1却不行,不知为什么,麻烦大家帮我看看。
文件内容如下:
[PHP]
#!/usr/bin/perl
use Socket; #import Socket
$host = '218.90.189.1'; #server ip
$port = 8002 ; #server port
`dhclient -r`;
`dhclient ` ;
$MYIP = `ifconfig eth0|grep inet|sed 's/^ *//'|sed 's/ /:/g'|cut -f3 -d:`;
$macaddr = "\x00\x00\x00\x00\x00\x00";
$msg = inet_aton($MYIP) . $macaddr;
$HDMAC = `ifconfig eth0|grep HWaddr|sed 's/^ *//'|sed 's/://g'|sed 's/ /:/g'|cut -f11 -d:`; #get local mac address
print "*************************************************************
you should make sure that the \'macaddr\' is the correct one.
and maybe the server's ip mast be modified on your condition,
then this perl send keep_alive package at a period of 30 seconds.\n";
print "the server's ip is $host\nyour mac address is $HDMAC";
print "your ip is $MYIP";
$time = "started at ";
$time .= `date +\%H:\%M:\%S`;
print "$time*************************************************************\n\n";
$packhost=inet_aton($host); #transfer local host
$address=sockaddr_in($port,$packhost);
socket(CLIENT,AF_INET,SOCK_DGRAM,17); #bulid up a link
binmode CLIENT; #binmode socket
while (1) {
send(CLIENT,$msg,0,$address); #send keep alive package
$time = `date +\%H:\%M:\%S`;
chop $time;
$time .= " send ok! you can stop it by Ctrl+C";
print $time;
sleep 30;
print "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
print "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
}
[/PHP]
错误信息为:
[PHP]
[root@localhost root]# python keep
File "keep", line 2
use Socket ; #import Socket
^
SyntaxError: invalid syntax
[root@localhost root]#
[/PHP]
是否由于MDK10.1的perl版本较低?
或者我的系统缺少相关的组件?
我是很菜的鸟,望大家见谅。 |
|