On 7/27/06, Carl Lowenstein <[EMAIL PROTECTED]> wrote:
On 7/26/06, David Looney <[EMAIL PROTECTED]> wrote:
> Lan Barnes wrote:
> > Some time ago I asked about how to send myself email when Cox changes my
> > IP address. With help from the list, I came up with this, which works
> > through testing (but hasn't yet been tested by Cox).
> >
>
> [snip - script to connection to whatismyip.com & parse html response,
> compare with old IP, etc]
>
> What I do is to use traceroute  to get my home router to cough up it's
> IP address (which is my external IP, of course), something like:
>
> #!/bin/sh
> # Old address saved in file
> oldip=`cat ~/.ipaddress`
> # Get your default routers inet address
> export inetip=`/usr/sbin/traceroute -n -m1 smtp.west.cox.net |
> /usr/bin/sed -e "/traceroute/d" | /usr/bin/awk '{print $2}'
> if ! [ $oldip -eq $inetip ] ; then
>   echo $inetip > ~/.ipaddress
>   echo "New IP address : "$inetip
>   echo "IP changed - "$inetip | mail -s "New IP" [EMAIL PROTECTED]
> fi
>
> As always, YMMV. The advantage is that it doesn't rely on an external
> website or connectivity except to the router.

OK, how about this one:

Watch out for line breaks inserted by gmail:  $ at the beginning of
this is a generic bash prompt.  The 2 lines should not be split.
  /nameserver/ is the gawk selector.
  {print $2; exit} is the gawk action.
  /etc/resolv.conf is the gawk argument.

I dont know how to break this to shorter lines to satisfy both gmail and bash.

 $ /usr/sbin/traceroute -n -m1 2>/dev/null $(gawk '/nameserver/{print
  $2; exit}' /etc/resolv.conf) | gawk '{print $2}'

This reads the IP address from the first line labeled "nameserver" in
/etc/resolv.conf, then does a traceroute to it.  That way I don't have
to know the name of my nameserver.  Of course this doesn't work if the
DHCP server in your home router believes that it too is a nameserver.
Works for me with RoadRunner and Netgear router and FC3.

Note that the 2>/dev/null does what /usr/bin/sed -e "/traceroute/d"
was intended to do in Dave Looney's script.  But in fact that
undesired line from traceroute is sent to stderr not stdout.

    carl
--
    carl lowenstein         marine physical lab     u.c. san diego
                                                 [EMAIL PROTECTED]



--
   carl lowenstein         marine physical lab     u.c. san diego
                                                [EMAIL PROTECTED]


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to