|
Тема
|
Как да разбера с кое IP съм в Интернет?
|
|
Автор | Hиkи (Нерегистриран) |
Публикувано | 25.11.04 10:44 |
|
Намерих разни примери, но те ми намират IP-то в локалната мрежа. Има ли начин да разбера с кое IP съм в интернет?
| |
Тема
|
Re: Как да разбера с кое IP съм в Интернет?
[re: Hиkи]
|
|
Автор |
Pechenia (нема лабаво ;-) |
Публикувано | 25.11.04 20:53 |
|
Въпроса (съответно отговора) не е съвсем прост.
Като начало трябва да се знае, че "с кое IP съм в интернет" е широко понятие. В общия случай достъпа до Internet става по следния начин:
local IP -> gateway/proxy server -> internet
Неприятния момент е че в общия случай gateway сервера се вижда с едно IP от local IP и с друго от internet. Преобразуването на тези IP-та е вътрешно за сървъра и той не дава информация за него. Разбира се, има частни решения на случая, ако имаш достъп до NAT таблиците на сървъра си, и ако го знаеш какъв е формата им.
Друго интересно решение може да се илюстрира с командата tracert. Пуска се един DOS Promtp и се стартира "tracert msn.com". Командата показва всички IP адреси през които минава връзката local IP -> msn.com
Реализация има на http://www.gigabyte.iatp.org.ua/articles/tracert.html
Неприятния момент е че практически е невъзможно да се прецени кой от IP-тата е proxy, и в крайна сметка да се уцели как ще се вижда машината в Internet.
Последното е решение е изключително просто, стига да имаш работещ web сървър в Internet. Прави се заявка от локалната машина до скрипт на сървъра, който в общия случай (ако са сложени правилните настройки) разпознава от кое IP идва заявката и я връща през HTTP. Аз съм правил такова решение с ASP, и съм доволен от резултата - но просто имам собствен сървър с който мога да правя каквото ми кефне.
чети и дишай по-леко
| |
Тема
|
Re: Как да разбера с кое IP съм в Интернет?
[re: Hиkи]
|
|
Автор | Veso (Нерегистриран) |
Публикувано | 26.11.04 08:59 |
|
Ето ти едно решение - на C++ Builder. Надявам се, че няма да имаш големи трудности да си го преведеш на Delphi.
#include <winsock.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{ WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(1, 0);
int err = WSAStartup(wVersionRequested, &wsaData);
if(err == 0)
{char hn[1024];
struct hostent *adr;
if (gethostname((char *)&hn, 1024))
{ int err = WSAGetLastError(); // ако те интересува каква е грешката
Beep();
};
adr = gethostbyname(hn);
if (adr)
{ String s;
s.sprintf("%d.%d.%d.%d",(unsigned char)adr->h_addr_list[0][0],
(unsigned char)adr->h_addr_list[0][1],
(unsigned char)adr->h_addr_list[0][2],
(unsigned char)adr->h_addr_list[0][3]);
Label1->Caption = s;
}
}
}
| |
Тема
|
Re: Как да разбера с кое IP съм в Интернет?
[re: Hиkи]
|
|
Автор | Veso (Нерегистриран) |
Публикувано | 26.11.04 09:09 |
|
Опаа, примера който ти пратих намира локалния IP адрес
| |
Тема
|
Re: Как да разбера с кое IP съм в Интернет?
[re: Hиkи]
|
|
Автор |
AquilaX (познат) |
Публикувано | 26.11.04 09:49 |
|
Ами това за което се сещам аз е малко хитруване но поне ще сработи лесно. Сваляш си обработваш резултата и взимаш IP-то.
AquilaX
____________
умният знае кога да говори, мъдрият знае кога да мълчи
| |
Тема
|
Re: Как да разбера с кое IP съм в Интернет?
[re: AquilaX]
|
|
Автор |
killall (Дядо Мраз) |
Публикувано | 26.11.04 13:35 |
|
Или отваряш telnet сесия към който си искаш мейл сървър на порт 25.
Пращаш команда
EHLO XXX
и би трябвало да ти върне отговор, съдържащ твоето IP ( или hostname, ако имаш обратен DNS resolving ).
Например mail.hotmail.com връща това ( с ---> съм означил получения текст, а с ---< - изпратения ):
c:\>telnet mail.hotmail.com 25
--->220 mc9-f30.hotmail.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.6713 ready at Fri, 26 Nov 2004 03:30:40 -0800
---<EHLO XXX
--->250-mc9-f35.hotmail.com (02.04.01.0017) Hello [Тука е твоето IP]
250-SIZE 29696000
250-PIPELINING
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-AUTH LOGIN
250-AUTH=LOGIN
250-X-HMAUTH
250 OK
_ _ _
Time is like a drug. Too much of it kills you.
| |
Тема
|
Re: Как да разбера с кое IP съм в Интернет?
[re: killall]
|
|
Автор | Hиkи (Нерегистриран) |
Публикувано | 27.11.04 14:10 |
|
Как да вкавам вече получения IP адрес в програмата на делфи?!
| |
|
|
|
|