关于IP地址(100分)

  • 主题发起人 主题发起人 red
  • 开始时间 开始时间
R

red

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎样得到访问我计算机的用户的IP地址?如何得到我自己的INTERNET上的IP地址?我看见有站点在进去时就会告诉你来自xxx.xxx.xxx.xx
IP追踪和监视又是如何实现的呢?

 
对不起,望了换行:
请问怎样得到访问我计算机的用户的IP地址?如何得到我自己的INTERNET上的IP
地址?我看见有站点在进去时就会告诉你来自xxx.xxx.xxx.xx
IP追踪和监视又是如何实现的呢?


 
winipcfg 可以得到自己的IP
至于那些站点得到你的IP 是因为http协议传输的环境变量是有你的IP的
 
请问怎样得到访问我计算机的用户的IP地址: run netstat
 
var
temp:ttabsheet;
web:TwebBrowser;
begin
temp:=ttabsheet.create(main);
temp.PageControl:=pagebrow;
temp.name:='b'+inttostr(webcount);
temp.caption:='正在下载..';

web:=tWEBBROWSER.Create(main);
temp.InsertControl(web);
with web do
begin
Align:=alClient;
hint:=inttostr(webcount);
showhint:=false;

OnNewWindow2:=browsernewwindow2;
onNavigateComplete2:=BrowserNavigateComplete2;
onprogresschange:=BrowserProgressChange;
OnBeforeNavigate2:=BrowserBeforeNavigate2;
Onstatustextchange:=BrowserStatusTextChange;
ondownloadbegin:=BrowserDownloadBegin;
Ondownloadcomplete:=BrowserDownloadComplete;
Ontitlechange:=BrowserTitleChange;

DragMode:=dmAutomatic;
ppDisp:=web.Application;
end;
 
不好意思,上一帖贴错了地方!
 
IP追踪的原理还是根据你向外连接时必须要附带你本机的IP所以你的IP就可以
被被连接方知道,打个简单的比喻,假设INTERNET是移动通信网的话,那么
你机器的IP就好象你的电话号码一样,你呼叫对方时,对方可以知道你的电话
号码,对方呼叫你时,也是一样,因为TCP/IP是需要确认的网络协议,所以
通信双方必须都知道对方的IP。
 
上一个留言版,完成流言之后,在流言版中你就能看到自己机子的IP地址了
 
ip包头上有源ip地址
目的ip地址
 
在 ASP 中 大概是 : respones.servervailable("USER_HOST")
 
to lha:

我怎么没试出respone.servervailable("USER_HOST")的结果呢?
 
知道了,是Request.ServerVariables("REMOTE_ADDR")
 
winipcfg 可以得到自己的IP <<hllu
得到的是网卡在局域网的IP。没有ISP分配的动态IP

我是想通过DELPHI来完成获取上INTERNET时的动态IP及访问我的IP。
 
怎么又传错了
我想说winipcfg得到的只是网卡在局域网上的IP,不能得到ISP动态分配的IP

我是想问如何用DELPHI得到IP
 
程序如下:

var
WSData: TWSAData;
Buffer: array[0..63] of Char;
HostEnt: PHostEnt;
PPInAddr: ^PInAddr;

LocalIP: DWord;
IPString: String;

//取本机IP地址
procedure GetIP;
begin
LocalIP:=0;
IPString:='';
try
WSAStartUp($101, WSData);
GetHostName(Buffer, SizeOf(Buffer));
HostEnt:=GetHostByName(Buffer);
if Assigned(HostEnt) then
begin
PPInAddr:=@(PInAddr(HostEnt.H_Addr_List^));
while Assigned(PPInAddr^) do
begin
IPString:=StrPas(INet_NToA(PPInAddr^^));
LocalIP:=PPInAddr^^.S_Addr;
Inc(PPInAddr);
end;
end;
finally
try
WSACleanUp;
except
end;
end;
end;

//取本机IP地址,返回4字节格式
function GetIPAddress: DWORD;
begin
GetIP;
Result := LocalIP;
end;


//取本机IP地址,返回点分隔字符串格式
function GetLocalIP: String;
begin
GetIP;
Result := IPString;
end;

>> 我想说winipcfg得到的只是网卡在局域网上的IP,不能得到ISP动态分配的IP
上面的代码是我自己写的,
我没测试过是否能得到你要的。。。
试试看先!
 
忘了写了,上面的程序需要
uses
.....<font color=red>WinSock</font>....
 
>> 我想说winipcfg得到的只是网卡在局域网上的IP,不能得到ISP动态分配的IP
纠正一下:
可以得到ISP动态分配的IP。
自己试一下就知道了。是可以的。
用命令ipconfig也可以。这两个命令的区别是前者是Windows命令,后者是DOS命令。
 
获取当前连接的IP地址,清参阅一下代码:

TRASCONN = packed record
dwSize : DWORD;
hRasConn : THRASCONN;
szEntryName : array [0..RAS_MaxEntryName] of char;
{$IFDEF WINVER400}
szDeviceType : array [0..RAS_MaxDeviceType] of char;
szDeviceName : array [0..RAS_MaxDeviceName] of char;
{$ENDIF}
szPadding : array [0..0] of Char;
end;

TRASPPPIP = record
dwSize : DWORD;
dwError : DWORD;
szIpAddress : array [0..RAS_MaxIpAddress] of char;
end;


function GetIPAddress: string;
var
RASConns : TRasConn;
dwSize : DWORD;
dwCount : DWORD;
RASpppIP : TRASPPPIP;
begin
Result := '';
RASConns.dwSize := SizeOf(TRASConn);
RASpppIP.dwSize := SizeOf(RASpppIP);
dwSize := SizeOf(RASConns);
dwSize := SizeOf(RASpppIP);
RASpppIP.dwSize := SizeOf(RASpppIP);
if RASGetProjectionInfoA(RASConns.hRasConn,
RASP_PppIp,
@RasPPPIP,
@dwSize) = 0 then
Result := StrPas(RASpppIP.szIPAddress);
end;

function RasGetProjectionInfoA; external rasapi32 name 'RasGetProjectionInfoA';
 
后退
顶部