Solved

External Ip

Posted on 2006-07-18
10
1,415 Views
Last Modified: 2011-10-03
Hi.

How can i get my external ip ??
(A question asked a million times BUT i only get local ip from other PAQ solutions)

I am behind a router !...
Is there a way to get it except visiting a page and grab the ip string?

I found a promising PAQ here :
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21408046.html

Everything works except "FCurrentIpAddress".
I get a memory read/write error when i try to use it.

Thanks in advance.
0
Comment
Question by:CodedK
  • 4
  • 2
  • 2
  • +2
10 Comments
 
LVL 11

Accepted Solution

by:
calinutz earned 250 total points
ID: 17128708
function TForm1.checkRealIP(Sender:TOBject):string;
var
 sx:string;
 i:integer;
begin
  sx:=IdHTTP1.Get('http://www.whatismyip.org/');
  Application.ProcessMessages;
  i:=1;
  while sx[i] in ['0'..'9','.'] do
    inc(i);
  delete(sx,i,length(sx));
  checkRealIP:=sx;
  idHTTP1.Disconnect;
end;



....
Edit1.Text:=CheckRealIP(self);
....
0
 
LVL 11

Expert Comment

by:calinutz
ID: 17128712
No other ways of detecting the real IP otherwise... None that I know of anyways...

Regards
0
 
LVL 16

Author Comment

by:CodedK
ID: 17128721
Hi calinutz.

Thanks but i have that code ... :/
I allready said : "except visiting a page and grab the ip string"

Chack that link i gave... It can get every other info.
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 28

Expert Comment

by:2266180
ID: 17128821
codedk, there is absolutly no way of getting the real IP address except getting it from an external source (like a website or dedicated server). there are tons of ways to "turn" a LAN ip into an external one, and most of them use software, and not hardware, so there is no standard. the best and easiest way is to use one of the showmyip pages, just as calinutz suggested.
0
 
LVL 16

Author Comment

by:CodedK
ID: 17128863
:)

Hi ciuly.
Ok, i guess i knew that (or saw that coming) , but one last thing...
Since i've used katka source (link above) to get all the other info (Hardware oriented solution),
can anyone make the FCurrentIpAddress work ? (Just out of curiocity coz every other info worked).
Maybe its my hardware the problem thats why i'm asking.
0
 
LVL 17

Expert Comment

by:TheRealLoki
ID: 17129235
actually, certain routers will let you query them and will tell you your external ip (via telnet etc)
try
telnet (router ip address)
and see if you can find a command to show you the external ip your isp has assigned you.
be careful in there though :-)
some specific ISPs have a webpage also, but you do not want this approach
0
 
LVL 26

Expert Comment

by:Russell Libby
ID: 17131427

GetAdaptersInfo can NOT be used to resolve your external IP address, but there is a way using iphlpapi and the function GetBestRoute.

It basically amounts to starting with the local address and giving it a dest address; something like "www.google.com". This will fill in a block giving you the next forward address. Then its a matter of calling GetBestRoute again until the address is no longer in the private address range of 192.x.x.x / 10.x.x.x. (then you need to add 1 to the final byte of x.x.x.x).

I can provide an example shortly if you would find it helpful

Russell
0
 
LVL 16

Author Comment

by:CodedK
ID: 17131449
I'd like that Russell.
Thanks :)
0
 
LVL 26

Expert Comment

by:Russell Libby
ID: 17133203

Never mind...
The problem is not that it doesn't work, its just that the routing table information is for the *outbound* direction. The inbound direction (how others see your IP), and the route path that they would use to get to you is not always the same as the outbound path. For your problem, the most reliable (and generic) solution is going to be connecting to one of the numerous 'whats my ip' sites and parsing the IP address out.

Regards,
Russell
0
 
LVL 16

Author Comment

by:CodedK
ID: 17134523
:) Ok thanks for all the suggestions.
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question