« 堕落 | 首页 | 看了天下无贼。 »

用perl更改拨通vpn后的路由设置。

好朋友给我建立了能够访问教育网的vpn服务器,我可以在windows上拨过去。

可令人烦恼的是需要手动更改路由设置。

后来在他的帮助下把那些设置写成了一个bat.我很笨蛋的

可另外一个麻烦事是,我每次拨过去获得的ip是动态的。虽然是一个段的,但不一定是哪个。

于是我每次都得用ipconfig看ip,再手动更改那个bat文件,然后执行,不爽。

于是想起来perl肯定能做这种处理字符的工作。

用google在perlchina.org上找到获得所有网络接口ip的代码。

自己又写了一个幼稚型正则式,然后把那个bat文件给用system()函数给克隆了过来。

就是下面的东西了,呵呵。

遗憾的是没有好好学这个语言。

写出来的这个东西也只能在自己的电脑上用。

也许这就是脚本的魅力吧。

Code:


#!/usr/bin/perl
use Socket;
use Sys::Hostname;
my($name,$aliases,$type,$len,@myaddr)=gethostbyname(hostname());
foreach (@myaddr){
    $ip=inet_ntoa($_);
    if ($ip=~/210\.47\.163.*/){
    system "route", "-f";
    system "route", "-p", "add", "0.0.0.0", "mask", "0.0.0.0", "172.16.5.1";
    system "route", "add", "210.47.160.0", "mask", "255.255.240.0", $ip;
    }
}



引用:

本篇引用地址:
https://www.vetcafe.net/cgi-bin/mt3/mt-tb.cgi/2275

发表评论

(如果您以前没在这里发表过评论,也许您发表的评论需要Blog主人的审核才能显示在这里,感谢您的静候。)