Link to home
Start Free TrialLog in
Avatar of groone
groone

asked on

How to get external IP address

Howdy, I have a router on my home network that I am playing with.  I've written some code where I can get all the info on it except the external ip address.  The internal ip is 197.168.0.1 and the inner network is consecutive.  I can get all ip addresses of each connected device, and so now the last thing I want to be able to get is the external ip of my router.  Anyone know how?  I am using VB 6.0

Thank you experts!  
Avatar of bobbit31
bobbit31
Flag of United States of America image

From: https://www.experts-exchange.com/questions/11813439/Getting-an-internet-IP.html

Comment from aRTie11
Date: 11/10/2000 07:47PM CST
 Comment  


an easy way to make your internet ip appear and not your lan Ip

is to use winsock like so

winsock1.connect "www.microsoft.com",80
InternetIP = winsock1.localip

calling it to access the internet will show the real ip address and not just the lan address

Hope it helps

aRTie11
Shell out a ping command and retreive the answers.  The first hop on your list will be the external IP address.
ASKER CERTIFIED SOLUTION
Avatar of g0rath
g0rath

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
The first hop on a ping command? Do you mean tracert?
yeah, i think he means tracert:

http://vbnet.mvps.org/index.html?code/internet/tracerthost.htm

your external ip will be the second hop (usually) depending on your network setup
Sorry bout that!  yes I meant a tracert.  If this is a standard hom setup, it will generally be the first hop.  If this is at work, especially a large building, that it would not be your next hop.
slight correction:

if it was a standard home setup (e.g., computer to router), it would be the second hop
I block icmp packets on my firewall so tracert would not work for me.
an extremely kludgy way to do it would be to open www.whatismyip.com and parse the results
Avatar of groone

ASKER

Here is what I did.  Using g0raths idea, I created a file myIP.shtml and added this one line of code
<!--#echo var="REMOTE_ADDR" -->


This showed my external ip address.  Made sure it was the only line in the file and as such I was able to place the ip address into a text field and save it as a file.  Problem solved.
Why would it be the second hop?  If it is hooked to say a Linksys, the first hop is the outside of the router.  It doesn't hop to the inside, then the outside.
Vinny, do you block ICMP going out as well as coming in?
Yes.
ah yes, that is a much better way of doing it...but you never know...not everyone has a website laying around they can just put up their own simple IP html page :)
the first hop is from your local machine (your computers network address), the second one is the router
That doesn't show up in my tracert.  My hop 1 is my router. (windows xp)
hrmm... weird, on mine (also xp and also on my linux box) the first one is my local ip:

isn't that correct?

a "hop" is the packet that goes from machine 1 to machine 2

So by definition shouldn't hop 1 be

local machine -> NAT reverse proxy --- for most users? as in those that use things like the linksys home firewall/NAT thingy...

my other setup using a linux box as a routher may be different since it reall isn't a "hop" between" the NICs
local machine -> local ip of linux dmz side -> external ip through the other NIC -> the wide open internet

or for networks I've been on are more like this....
local machine -> subnet router -> DMZ router -> Internet GateWay -> wherever....

either way it's not consistant or something not to be relied upon, so it's usually easier to connect to a "trusted" website that can give you back your IP using the environment var REMOTE_ADDR