This is my quick and simple solution in perl (set proxy server if you have one):
Code:
#!/usr/bin/perl
use LWP::UserAgent;
################################################################################
my $page = 'http://checkip.dyndns.org';
my $use_proxy = 1;
my $proxy = 'proxy_string';
my $proxy_port = '80';
my $username = 'username_string';
my $password = 'password_string';
################################################################################
my $browser = LWP::UserAgent->new;
if($use_proxy == 1){
$browser->proxy('http', "http://$username:$password\@$proxy:$proxy_port/");
}
my $response = $browser->get("$page");
die "\n\nError: ", $response->status_line, "\n\n" unless $response->is_success;
my $output = $response->content;
my ($external_ip) = ($output=~/Current IP Address: (\d+\.\d+\.\d+\.\d+)/);
print("\n\nExternal IP: $external_ip\n\n");
exit(0);
You can place the script in any server in your private network to work.
Bookmarks