#!/usr/bin/perl $WGET = "/usr/bin/wget"; $NSUPDATE = "/usr/bin/nsupdate"; $MAILTO ="your\@mail.address"; $MAIL = "/usr/sbin/sendmail $MAILTO"; $KEY = "KEY FILE"; $DOMAIN = "Your.Domain."; $PREREQ ="prereq yxrrset $DOMAIN IN A\n"; $DELETE ="update delete $DOMAIN IN A\n"; $ADD = "update add $DOMAIN 300 IN A "; open(IP,"$WGET -q --http-user='admin' --http-passwd='******' -O '-' 'http://MODEM_ADDRESS/info_main.html' | "); while(){ if( $_ =~ /WAN‘¤\sIPƒAƒhƒŒƒX<\/LABEL><\/TD>/){ $html = ; if ( $html =~ /(\d*\.\d*\.\d*\.\d*)\S*\s*<\/TD>/ ){ $now_ip = $1; $addr = (gethostbyname('doragon2.net'))[4]; $addr = sprintf("%u.%u.%u.%u", unpack("C*", $addr)); if ( $now_ip ne $addr ){ print("$now_ip : $addr \n"); $nsword = "$PREREQ $DELETE $ADD $now_ip\n\n"; system("echo \'$nsword\' | $NSUPDATE -k $KEY"); system("echo \'$now_ip\' | $MAIL "); } } } }