in reply to Getting an IP address from DHCP

Hmm is tracert too simple? The second IP will probably be your external ip which will be easy enough to parse out and do what you want with:

C:\Documents and Settings\administrator>tracert perlmonks.org Tracing route to perlmonks.org [209.197.123.153] over a maximum of 30 hops: 1 <10 ms <10 ms <10 ms SpeedTouch.lan [10.0.0.1] 2 20 ms 10 ms 21 ms bthg134-hg2.broadband.bt.net [217.32.6 8.201] 3 20 ms 10 ms 20 ms 217.32.68.162 4 10 ms 30 ms 20 ms 217.32.68.238 5 10 ms 10 ms 20 ms inh2cs01-601.btopenworld.com [62.7.250 +.129] 6 21 ms 10 ms 20 ms 213.120.62.149 7 10 ms 20 ms 30 ms ^C C:\Documents and Settings\administrator> # so something simple like.... $tracert = `tracert google.com`; @ips = $tracert =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/g; print "$_\n" for @ips; print "External IP gateway is $ips[1]\n"; # or whatever index is corre +ct

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Replies are listed 'Best First'.
Re: Re: Getting an IP address from DHCP
by fsn (Friar) on Jul 31, 2002 at 09:06 UTC
    Traceroute shouldn't work. The incoming interface should decrement the TTL, see that it became 0 and report back to the source. The external interface doesn't even see the packet. So, the first answer should be from the internal interface of your router. The second answer should then be from the router one hop away, ie. the ISP equipment. If it does work, the broadband router does strange things. However, some equipment might report back it's "main" IPaddress instead of said interface address, but don't count on it.

    And anyway, you should use the -m (maximum ttl) flag, or it's win32 equivalent, to not let the probes wander of to far.