Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 08:34 01.05.24 
Компютри и Интернет
   >> Delphi
*Кратък преглед

Тема Как да разбера с кое 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 адрес в програмата на делфи?!




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.