首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用delphi跟踪IP

如何使用delphi跟踪IP
EN

Stack Overflow用户
提问于 2010-11-15 00:24:30
回答 3查看 2.7K关注 0票数 2

我需要跟踪ip的路由,实际上我使用的是来自idTraceRoute单元的TIdTraceRoute indy组件。

代码语言:javascript
复制
   IdTraceRoute1:= TIdTraceRoute.Create(Self);
   IdTraceRoute1.ResolveHostNames:= True;
   IdTraceRoute1.ReceiveTimeout:= 5000;
   IdTraceRoute1.OnReply:= TraceRoute;

    IdTraceRoute1.Host:= 'www.google.com';
    IdTraceRoute1.Trace;


procedure TForm1.TraceRoute(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
   Memo1.Lines.Add(AReplyStatus.FromIpAddress);
end;

但总会回来。

代码语言:javascript
复制
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0
0.0.0.0

有没有另一种追踪ip的方法,比如使用windows api或使用另一个indy组件?

实际上我使用的是delphi-xe和Windows7。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-17 21:58:19

我刚刚在我的博客上写了一篇文章,它可以帮助你。

Building a traceroute application with IP geolocation using delphi

票数 2
EN

Stack Overflow用户

发布于 2010-11-15 01:48:44

跟踪基本上是基于发送ICMP数据包,从TTL 1开始,然后增加它,直到到达目的地。因为每个路由器都会减小TTL,并且当TTL达到0时会向调用者返回一个错误,因此可以用它来跟踪数据包所采用的“路由”。请注意,要工作,ICMP协议不能被防火墙阻止。ICMP是一个运行在IP之上的协议,就像TCP一样。It 使用TCP。您可以只使用ICMP编写traceroute实用程序。但是Windows tracert实用程序能在您的系统上工作吗?

票数 1
EN

Stack Overflow用户

发布于 2010-11-18 11:11:36

您使用的是哪个版本的Indy?当前版本为10.5.8。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4178398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档