ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 通过国外SSH自动更新hosts列表

通过国外SSH自动更新hosts列表

原创 Linux操作系统 作者:perltest 时间:2011-12-19 10:19:33 0 删除 编辑

还是DNS的问题,网上流传hosts的方法,但hosts文件容易过期,需要经常更新。

网上有经常更新的hosts,今天想了一下,其实可以通过一个国外的SSH,实现自动更新hosts。

方法很简单,首先找一个过期的hosts列表,连接国外ssh,把过期的hosts文件传上去改名为dns.txt,再传一个perl程序运行一下,等待运行完毕,把更新的hosts文件传过来就可以了。

对于ssh来说,通过scp传递文件是很方便的。

下面是简单的程序脚本:

 

#!/usr/bin/perl

open (f1,"dns.txt");
my @list = ;
close f1;

open (f1,">hosts");

foreach $list (@list)
{
 my $qs2='';
 my $domain = '';
 my @t = split (" ",$list);

 if ($t[0]!~/#/) {$domain = $t[1]};

 if ($domain)
 {
  $qs = `nslookup $domain`;
  $qs =~s/\n|\r//g;

  if ($qs=~/Address:(.*?)Address:(.*?)Name(.*)/)
  {
   $qs2 = $2;
  }
  if (!$qs2)
  {
   ($temp,$qs2)=($qs=~/Address:(.*?)Address:(.*)/)
  }
 }

 if ($qs2)
 {
  $qs2=~s/ //;
  print f1 "\n$qs2 $domain";
 }
}

close f1;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21129783/viewspace-713536/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-08-15

  • 博文量
    111
  • 访问量
    132266