ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

11.11.2008, 16:53
|
|
Новичок
Регистрация: 11.11.2008
Сообщений: 20
Провел на форуме: 114968
Репутация:
2
|
|
Ну так кто-нибудь поможет или нет?
|
|
|

11.11.2008, 17:37
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
Сообщение от -nEx-
Как определить динамичный IP ? А то при попытке определить выдает не верный айпи.
Код:
program getip;
{$APPTYPE CONSOLE}
uses windows,wininet;
{-----------------------------------}
function DownloadURL(const aUrl: string; pBuf: pChar; dwSize: cardinal): Boolean;
var
hSession: HINTERNET;
hService: HINTERNET;
dwBytesRead: DWORD;
begin
Result := False;
hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if hSession<>nil then begin
hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0);
if hService<>nil then begin
if not InternetReadFile(hService, pBuf, dwSize, dwBytesRead) then begin
InternetCloseHandle(hService);
InternetCloseHandle(hSession);
exit;
end;
InternetCloseHandle(hService);
end else begin
InternetCloseHandle(hSession);
exit
end;
InternetCloseHandle(hSession);
end else exit;
result:=true;
end;
{-----------------------------------}
function GetRealIp():string;
var buf:array[0..4096]of char;
s,ip:string;
i1,i2:integer;
begin
result:='';
if not DownloadURL('http://www.cmyip.com/',@buf,sizeof(buf)) then exit;
s := string(pChar(@buf));
i1:= pos('My IP is ',s) + 10;
i2:= pos(' - Quick and Easy way to SEE my IP address - CmyIP.com',s);
result:=copy(s,i1,i2-i1);
end;
BEGIN
writeln(GetRealIp());
END.
вот это должно сработать.
Сообщение от TheJahte
Куда этот гребаный windows.tpu ему засунуть )) чтоб он заткнулся ?
Турбо паскалем ты это точно не откомпилишь))
бери делфи или фри паскаль http://freepascal.org/download.var
|
|
|

11.11.2008, 20:53
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме: 6128108
Репутация:
445
|
|
ап! Как принять ответ от сервера?
|
|
|

11.11.2008, 21:23
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
Сообщение от diznt
ап! Как принять ответ от сервера?
смотри мой пост на предыдущей странице https://forum.antichat.ru/showpost.php?p=938023&postcount=2310
там функция DownloadURL закачивает страничку с сайта. Я догадываюсь что тебе как бы нужен метод POST, для этого вместо InternetOpenUrl используй HttpOpenRequest пример которого есть тут: https://forum.antichat.ru/showpost.php?p=937359&postcount=2
|
|
|

11.11.2008, 21:34
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Тебе не кажется,
что твой код - это забивание гвоздей КУВАЛДОЙ )))
А что делать, если сайты с которых вы пытаетесь получить IP недоступны в данное время )
Думаю этот код намного юзабельней и лучше:
http://delphi-faq.zoxt.net/z3.htm
|
|
|

11.11.2008, 21:45
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
Сообщение от groupby
Тебе не кажется,
что твой код - это забивание гвоздей КУВАЛДОЙ )))
А что делать, если сайты с которых вы пытаетесь получить IP недоступны в данное время )
Думаю этот код намного юзабельней и лучше:
http://delphi-faq.zoxt.net/z3.htm
не кажется.
так вы узнаете IP-адреса всех сетевых интерфейсов, которые могут не иметь никакого отношения к твоему IP в интернете.
в большинстве случаев IP пользовательского компа можно узнать только вот так забивая гвозди кувалдой...
Погугли по теме Network Address Translation
|
|
|

11.11.2008, 23:03
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Сообщение от bons
Погугли по теме Network Address Translation
Я за работу с сетью и сетевыми протоколами деньги получаю ) Не учи плиз.
Все локальные IP сразу можно отбросить:
127.*, 192.*, 10.*, 172.*
Оставшийся адрес и есть внешний.
|
|
|

12.11.2008, 00:56
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
Сообщение от groupby
Я за работу с сетью и сетевыми протоколами деньги получаю ) Не учи плиз.
Все локальные IP сразу можно отбросить:
127.*, 192.*, 10.*, 172.*
Оставшийся адрес и есть внешний.
внешнего там может и не быть.
Ведь суть NAT как раз в том, что вместо IP твоего компа подставляется IP шлюза. Причем где этот шлюз твой компьютер может не знать в принципе.
И внешний адрес этого шлюза достоверно можно узнать ТОЛЬКО тем способом, код к которому я выложил.
P.S. а все-таки у меня длиннее))
|
|
|

12.11.2008, 11:41
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Сообщение от bons
внешнего там может и не быть.
Если нет внешнего IP, значит компьютер не имеет прямого подключения к интернету (т.е. подключен через другой компьютер). И значит найденнный по вашей технологии IP будет не IP адресом конечного компьютера в сети, а лишь IP его роутера. А нафиг нужен IP роутера, если через него связаться с компьютером все равно нельзя (можно, если прокинуть порты, но все равно в итоге программе при таком способе прокидывания внешний IP знать уже не надо)?
Оффтоп у нас получается )
В общем какой итог:
Если нужен внешний IP вашего компа - юзайте мой способ.
Если нужен внешний IP вашей внутренней сети, то способ bons'a
|
|
|

12.11.2008, 18:29
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от diznt
ап! Как принять ответ от сервера?
Для кого писал?
http://forum.antichat.ru/showpost.php?p=788789&postcount=12
здесь показано на сокетах.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|