Bläddra i källkod

[Minor] Improve asn.pl helper script

tags/1.7.0
Vsevolod Stakhov 6 år sedan
förälder
incheckning
bc08cc1e47
1 ändrade filer med 20 tillägg och 6 borttagningar
  1. 20
    6
      utils/asn.pl

+ 20
- 6
utils/asn.pl Visa fil

@@ -32,7 +32,7 @@ my $download_target = "./";
my $help = 0;
my $man = 0;
my $v4 = 1;
my $v6 = 0;
my $v6 = 1;
my $parse = 1;
my $v4_zone = "asn.rspamd.com";
my $v6_zone = "asn6.rspamd.com";
@@ -43,7 +43,7 @@ GetOptions(
"download-asn" => \$download_asn,
"download-bgp" => \$download_bgp,
"4!" => \$v4,
"6" => \$v6,
"6!" => \$v6,
"parse!" => \$parse,
"target=s" => \$download_target,
"zone-v4=s" => \$v4_zone,
@@ -116,6 +116,10 @@ foreach my $u ( @{ $config{'bgp_sources'} } ) {
my $net = $dd->{'prefix'} . '/' . $dd->{'bits'};
if ( $entry && $entry->{'AS_PATH'} ) {
my $as = $entry->{'AS_PATH'}->[-1];
if (ref($as) eq "ARRAY") {
$as = @{$as}[0];
}

if ( !$networks->{$as} ) {
if ( $dd->{'subtype'} == 2 ) {
$networks->{$as} = { nets_v4 => [$net], nets_v6 => [] };
@@ -153,9 +157,15 @@ foreach my $u ( @{ $config{'asn_sources'} } ) {
my $as_end = $as_start + int( $elts[4] );

for ( my $as = $as_start ; $as < $as_end ; $as++ ) {
if ( $networks->{"$as"} ) {
$networks->{"$as"}->{'country'} = $elts[1];
$networks->{"$as"}->{'rir'} = $elts[0];
my $real_as = $as;

if (ref($as) eq "ARRAY") {
$real_as = @{$as}[0];
}

if ( $networks->{"$real_as"} ) {
$networks->{"$real_as"}->{'country'} = $elts[1];
$networks->{"$real_as"}->{'rir'} = $elts[0];
}
}
}
@@ -201,8 +211,12 @@ asn.pl [options]

Options:
--download-asn Download ASN data from RIR
--download-bgp Download GeoIP data from Maxmind
--download-bgp Download GeoIP data from Maxmind
--target Where to download files (default: current dir)
--zone-v4 IPv4 zone (default: asn.rspamd.com)
--zone-v6 IPv6 zone (default: asn6.rspamd.com)
--file-v4 IPv4 zone file (default: ./asn.zone)
--file-v6 IPv6 zone (default: ./asn6.zone)
--help Brief help message
--man Full documentation


Laddar…
Avbryt
Spara