我知道如何在c ++中扫描子网...我也知道如何找到地理位置(尽管它不是100%)...但有没有人知道如何才能找到最接近我的地址? / p>
前一个邻居离我100米,另一个邻居是50,如果他们都连接到互联网,我应该得到距离我50米的第二个ip。
有没有办法通过编程语言实现这个?
答案 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的某些制裁