📄 ipv6.pm
字号:
#!/usr/bin/perl#-----------------------------------------------------------------------------# IPv6 AWStats plugin# This plugin allow AWStats to make reverse DNS Lookup on IPv6 addresses.#-----------------------------------------------------------------------------# Perl Required Modules: Net::IP and Net::DNS#-----------------------------------------------------------------------------# $Revision: 1.4 $ - $Author: eldy $ - $Date: 2004/05/21 21:18:11 $# <-----# ENTER HERE THE USE COMMAND FOR ALL REQUIRED PERL MODULESif (!eval ('require "Net/IP.pm";')) { return $@?"Error: $@":"Error: Need Perl module Net::IP"; }if (!eval ('require "Net/DNS.pm";')) { return $@?"Error: $@":"Error: Need Perl module Net::DNS"; }# ----->use strict;no strict "refs";#-----------------------------------------------------------------------------# PLUGIN VARIABLES#-----------------------------------------------------------------------------# <-----# ENTER HERE THE MINIMUM AWSTATS VERSION REQUIRED BY YOUR PLUGIN# AND THE NAME OF ALL FUNCTIONS THE PLUGIN MANAGE.my $PluginNeedAWStatsVersion="5.5";my $PluginHooksFunctions="GetResolvedIP";# -----># <-----# IF YOUR PLUGIN NEED GLOBAL VARIABLES, THEY MUST BE DECLARED HERE.use vars qw/$resolver/;# ----->#-----------------------------------------------------------------------------# PLUGIN FUNCTION: Init_pluginname#-----------------------------------------------------------------------------sub Init_ipv6 { my $InitParams=shift; my $checkversion=&Check_Plugin_Version($PluginNeedAWStatsVersion); # <----- # ENTER HERE CODE TO DO INIT PLUGIN ACTIONS debug(" Plugin ipv6: InitParams=$InitParams",1); $resolver = Net::DNS::Resolver->new; # -----> return ($checkversion?$checkversion:"$PluginHooksFunctions");}#-----------------------------------------------------------------------------# PLUGIN FUNCTION: GetResolvedIP_pluginname# UNIQUE: YES (Only one plugin using this function can be loaded)# GetResolvedIP is called to resolve an IPv6 address into a host name#-----------------------------------------------------------------------------sub GetResolvedIP_ipv6 { # <----- my $ip = new Net::IP($_[0]); my $reverseip= $ip->reverse_ip(); my $query = $resolver->query($reverseip, "PTR"); if (! defined($query)) { return; } my @result=split(/\s/, ($query->answer)[0]->string); return $result[4]; # ----->}1; # Do not remove this line
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -