查找最近的IP

时间:2010-02-13 23:30:46

标签: networking geolocation ip-address network-scan

我知道如何在c ++中扫描子网...我也知道如何找到地理位置(尽管它不是100%)...但有没有人知道如何才能找到最接近我的地址? / p>

前一个邻居离我100米,另一个邻居是50,如果他们都连接到互联网,我应该得到距离我50米的第二个ip。

有没有办法通过编程语言实现这个?

5 个答案:

答案 0 :(得分:6)

算了。 ISP的工作方式和分配IP的结构将使99.999999999%的情况完全不可能。

您提到的IP地址的地理位置 - 通过检查IP地址数据库,并通过分析IP的路由点 - 如果您幸运的话,将在城市层面上工作。

地理位置到城市甚至街区的唯一可靠方法是一组新技术,例如查询用户计算机周围的Wi-Fi热点,并将其与已知Wi-Fi热点列表进行比较和他们的位置。例如,参见昨天的问题about Geolocation in HTML 5

没有办法对其他用户的位置进行三角测量,并感谢上帝!

答案 1 :(得分:0)

IP地理位置仅定位ISP。它找不到实际的主机。

答案 2 :(得分:0)

答案是否定的,您无法找到邻居的IP地址!您如何知道您的邻居是否与您的邻居连接?同样,一个危险的假设,当然,地理定位可能有效,但不是100%可靠......

他们可能会联系到Mars Inc的ISP,因为你的问题有些可疑 - 为什么你想知道?对于D-O-S攻击,黑客攻击......

希望这有帮助, 最好的祝福, 汤姆。

答案 3 :(得分:0)

如果您使用有线电视,则所有使用电缆的人都会分享带宽。如果您可以点击调制解调器另一侧的电缆,则可以看到同一网段上其他人的流量。随着DOCSIS 2和3的推出,这种情况正在发生变化,这提供了基于PKI的AES加密。

如果您使用的是无线(WiFi,WiMax,移动电话),您可以提取其他人的信号。限制因素包括1.加密(一些已被破坏)2。信号强度(某些技术使用定向天线)

如果您的邻居没有使用相同的ISP,显然这些都不起作用。

答案 4 :(得分:0)

是的,有..

1)你应该测量路由器上的跳跃距离..所以例如你子网上的人就是一跳,而你的isp上的人就是2跳。

如果你在Windows上,你可以通过traceroute app(在win + R中通过cmd)生成的行来测量跃点,你可以运行tracert app

2)如果您的geoip可以为您提供近似地理位置,则可以测量两个GPS位置之间的距离。然而,这将不是非常可靠,因为他们不知道确切的位置。但如果IP超过3跳,它可能会有所帮助..

traceroute程序中的跳数是IGMP协议中TTL属性的测量。如果TTL(生存时间)超过某个点,路由器会发回回未到达目的地的答案。这样你首先尝试使用TTL = 1,而不是TTL = 2,而不是TTL = 3,依此类推。如果你不想再次编写tracert程序,只需使用你喜欢的编程语言中的命令行执行函数:)< / p>

请注意,这对于IP之间的距离测量并不可靠,好像您的邻居有不同于您的ISP,与他之间的邻居之间的距离将小于他。

3)要测量最近网络的距离,您可能会检测到wifi网络的强度。如果你知道哪个wifi网络属于谁,你可能知道距离。

请注意,如果您已经知道邻居的IP,您可能也知道它们的距离:)

如果您只是在大学校园内进行网络扫描或类似的事情,您可能会使用nmap检测到有关计算机的更多有用信息,但是可能会因为您被驱逐而冒风险使用它,或者您可能会受到ISP的某些制裁