Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Вниз

Какой мой IP в Интернете?   Найти похожие ветки 

 
kalishenko stas   (2002-11-27 18:53) [0]

Если я работаю в Интернете через proxy-сервер, есть ли у меня интернетовский IP. Если да, то как его можно узнать (или программно, или при помощи чего-нибудь).


 
Anatoly Podgoretsky   (2002-11-27 19:02) [1]

У тебя нет


 
kalishenko stas   (2002-11-27 19:38) [2]

Хорошо, если так, то как можно общаться по Интернету, используя сокеты (или же использовать TCP или UDP - клиенты и сервера, прописав каким-то образом машину на прокси-серваке?)?


 
kalishenko stas   (2002-11-27 21:49) [3]

Хорошо, а если я хочу обмениваться сообщениями через Internet с какой-то машиной, можно ли пользоваться сокетами или же только через TCP или UDP - серверы и клиенты (при этом наверняка каким-то образом нужно прописаться на прокси)?


 
Alex Konshin   (2002-11-30 08:33) [4]

Это задача прокси.
И от того, какой он и зависит то, как с ним работать.
Обычно где прокси - там и firewall, так и от него тоже зависит, сможешь ли ты хоть что-нибудь сделать или нет.


 
mdaemon   (2002-12-04 13:23) [5]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Winsock, StdCtrls, ExtCtrls, Menus ,clipbrd;

type
TForm1 = class(TForm)
Timer1: TTimer;
PopupMenu1: TPopupMenu;
Exit1: TMenuItem;
Label1: TLabel;
Copy1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure formmousedown(sender: tobject; button: tmousebutton;
shift: tshiftstate; x, y: integer);
procedure Edit1StartDrag(Sender: TObject; var DragObject: TDragObject);
procedure Copy1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

// returns ISP assigned IP
function LocalIP : string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;

begin
WSAStartup($101, GInitData);
Result := "";
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;

{subject : moving forms (and other twincontrols) without using the caption-bar}

procedure tForm1.formmousedown(sender: tobject; button: tmousebutton;
shift: tshiftstate; x, y: integer);
const
sc_dragmove = $f012;
begin
releasecapture;
twincontrol(application.mainform).perform(wm_syscommand,sc_dragmove, 0);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
FullRgn, ClientRgn, ButtonRgn: THandle;
Margin, X, Y: Integer;
begin
top:=screen.Height-50;
left:=screen.width-120;
height:=Label1.Height;
width:=Label1.width;
Margin := (Width - ClientWidth) div 2;
FullRgn := CreateRectRgn(0, 0, Width, Height);
X := Margin;
Y := Height - ClientHeight - Margin;
ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);
X := X + Label1.Left;
Y := Y + Label1.Top;
ButtonRgn := CreateRectRgn(X, Y, X + Label1.Width, Y + Label1.Height);
CombineRgn(FullRgn, FullRgn, ButtonRgn, RGN_OR);
SetWindowRgn(Handle, FullRgn, True);
//Hide Taskbar Icon
ShowWindow( Application.Handle, SW_HIDE );
SetWindowLong( Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or
WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
ShowWindow( Application.Handle, SW_SHOW );
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.interval:=1000*100;
Label1.Caption:="IP: "+LocalIP;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
application.terminate;
end;

procedure TForm1.Edit1StartDrag(Sender: TObject;
var DragObject: TDragObject);
const
sc_dragmove = $f012;
begin
releasecapture;
twincontrol(application.mainform).perform(wm_syscommand,sc_dragmove, 0);

end;

procedure TForm1.Copy1Click(Sender: TObject);
begin
Clipboard.SetTextBuf(Pchar(copy(Label1.caption,4,255)));
end;

end.





 
Alex Konshin   (2002-12-05 04:21) [6]

2mdaemon: Сам-то понял, что написал?
Ну и где тут достается "интернетовский ip", когда работаешь через прокси?
На самом деле человек очевидно спрашивает про ситуацию, когда стоит firewall с прокси и в локальной сети адреса типа 10.*.*.*,
192.168.*.* и т.п..
В общем случае задача не решается.
Для конкретных прокси это иногда возможно. Но "прокси" понятие очень расплывчатое...
Хотя бы сказал какой прокси.


 
Kornet   (2002-12-05 07:42) [7]

Во первых очень хотелось бы узнать каким способом происходит выход в интернет. Alex Konshin - не стоит строить предположения на пустом месте. Варианты: диалап - обычно провайдер клиенту присваивает временный внешний ip-адрес, но трафик идёт всё равно через прокси для кеширования. Локальная сеть - у клиента фиксированный внутренний ip-адрес, прокси используется для того, что бы использовать один внешний ip-адрес на кучу клиентов. Если на границе с инетом стоит только прокси, то с сокетами работать бесполезно, разве только что с socks-proxy. В случае с диалапом ты можешь сделать что то типа клиент-серверного приложения, если правда ты решишь проблему соединения: на первом этапе ты не знаешь ip-адрес для соединения так как он динамический. Ещё один вариант с использованием маскарадинга на шлюзе, при этом для клиента стает прозрачно, как будто у тебя появляется внешний ip-адрес, но только ты можешь быть инициатором соединения...


 
kalishenko   (2002-12-05 13:06) [8]

У меня этот вариант:

>>Локальная сеть - у клиента фиксированный внутренний ip-адрес, прокси используется для того, что бы использовать один внешний ip-адрес на кучу клиентов.

Но весь прикол в том, что и на том конце такое же соединение, т.е. ни я не знаю IP того прокси-сервака, с которым хочу соединиться, ни на том конце не знают IP моего прокси-сервака.
Если бы были известны эти IP, то, по-моему, соединение через сокеты было бы вполне реальным. Или я не прав?


 
Wonder   (2002-12-05 13:52) [9]

Скорее всего не прав, поскольку прокси практически всегда функционирует и настроен как сервер только для локальной сети и как клиент для инета и, как следствие, не принимает входящих запросов на соединение со стороны инета.


 
Reindeer Moss Eater   (2002-12-05 14:02) [10]

>kalishenko
Ни тому "концу", ни тебе не удастся установить соединение друг с другом.


 
Alex Konshin   (2002-12-07 06:24) [11]

2 Kornet: Насчет "пустого места" - если человек спрашивает, как определить внешний ip-адрес, то, очевидно, что он в intranet с выходом в интернет через какой-то прокси (мы так и не узнали какой). Из дальнейшего видно, что я правильно угадал.

2 kalishenko: Все-таки скажи какой прокси/firewall, иначе ты ответа не дождешься. Если это что-то основанное на NAT или SOCKS, то нужно просто соответственно настроить прокси.


 
rastochnik   (2002-12-07 17:02) [12]

а если исходный текст писем использовать?



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
3-4794
Ihtiandr
2003-01-17 11:14
2003.02.03
Помогите с Aliassom


7-5284
НаемНИК
2002-11-14 13:58
2003.02.03
Перехват УДАЛЕНИЯ ФАЙЛА


1-4905
Konstantin
2003-01-25 18:42
2003.02.03
Как связать две подпрограммы (запрос-ответ)


14-5172
GebbelZ
2003-01-17 00:02
2003.02.03
Смена прошивки мамы :(


1-5046
boets
2003-01-24 10:43
2003.02.03
Получение logа Трассировки событий





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский