当前位置: 首页 > news >正文

A Learning-Based Approach for IP Geolocation(2010年)

下载地址:Towards IP geolocation using delay and topology measurements | Proceedings of the 6th ACM SIGCOMM conference on Internet measurement

被引次数:185

Eriksson B, Barford P, Sommers J, et al. A learning-based approach for IP geolocation[C]//Passive and Active Measurement: 11th International Conference, PAM 2010, Zurich, Switzerland, April 7-9, 2010. Proceedings 11. Springer Berlin Heidelberg, 2010: 171-180.

Abstract

定位IP主机地理位置的能力对于在线广告和网络攻击诊断等应用程序是非常吸引力的。虽然先前的方法可以准确地识别主机在互联网的某些区域的位置,但当它们所基于的延迟或拓扑测量有限时,它们会产生错误的结果。我们工作的假设是,可以通过创建一个能够适应不同类型的地理位置信息的灵活的分析框架来提高IP地理位置的准确性。

在本文中,我们描述了一个新的IP地理定位框架,它简化为一个机器学习分类问题。我们的方法考虑了从一组已知监视器到目标的轻量级测量,然后根据从训练集中学习到的概率密度的最可能的地理区域对目标的位置进行分类。在本研究中,我们采用了一个朴素贝叶斯框架,该框架的计算复杂度较低,并且易于添加额外的环境信息,以增强分类过程。

为了证明我们的方法的可行性和准确性,我们在超过16,000个路由器上测试了IP地理定位,并给出了来自78个已知地理位置的监视器的ping测量值。

我们的结果表明,我们的方法的简单应用提高了我们数据集中识别的对96%以上的节点的地理定位精度,与之前基于约束的地理位置相比,平均精度接近真实地理位置70英里。这些结果突出了我们的方法的前景,并表明了未来分类器的扩展如何导致地理定位精度的进一步提高。

1 Introduction

有很多方法可以考虑互联网的结构和拓扑特征。对广告商、应用程序开发人员、网络运营商和网络安全分析师有重大影响的一种方法是识别互联网设备的地理位置(如路由器或结束的主机)。地理位置可以指一个设备的精确的纬度/经度坐标,或一个更粗粒度的位置,如在一个邮政编码、城市、县或国家内。

在找到一个给定的互联网设备的地理位置方面有许多挑战。最明显的是,没有一个标准的协议可以提供全球范围内任何设备的位置(尽管DNS条目可以包含一个位置记录)。此外,互联网设备通常不具备位置识别能力(例如,GPS,尽管这种情况将来可能会改变),即使有,一些人也会认为这些信息是私人的。先前的方法集中于根据互联网设备的地理位置来识别其相对于已知位置的地标的主动测量的位置。虽然这些方法已被证明能够在某些地区产生相对准确的地理估计,但由于各种原因,仍然不准确。其中最主要的事实是,全球各地的特定测量数据的密度不一致。

我们工作的目标是广泛地提高IP地理定位的准确性。我们的假设是,由不完善的测量、稀疏的测量可用性和不规则的互联网路径引起的大估计误差可以通过扩展IP地理位置中考虑的信息范围来解决。我们开发来测试这一假设的估计框架是将IP地理定位转换为一个基于机器学习的分类问题。这种可扩展的方法可以将来自多个数据集的信息融合起来,这样,从一个测量中信息内容较低的区域就可以用来自其他测量的更好的信息内容进行补偿。

为了充实这个框架,为了检验我们的假设,我们必须同时选择一种分类方法和一组可以用来估计IP地理位置的测量值。我们开发了一种朴素贝叶斯估计方法,该方法基于与该IP目标相关联的一组测量值,将一个给定的IP目标分配给一个地理分区。考虑到对IP目标的大量测量,概率似然估计简化为朴素贝叶斯方法。该框架中考虑的网络测量数据包括从一组地标到IP目标的延迟和跳数计数。我们还在框架中包括了人口密度,作为一个非网络测量的演示,可以帮助改进估计。选择这种分类器/测量组合是为了证明这种新方法的潜力,但并不意味着是明确的或全面的。

为了测试和评估我们基于学习的方法的这个初始实例的能力,我们考虑了在美国大陆的县级别上的地理划分。(在我们的框架中,根据邮政编码或城市街区的顺序进行更细粒度的划分当然是可行的,但由于测试和评估数据的可用性,我们选择了县级划分。)

虽然相当多的互联网拓扑结构位于美国大陆以外,但对该数据集的初步验证将激发未来对位于美国以外的终端主机的工作。我们在互联网上确定了114,815个空间不同节点从行星实验室节点的网格跟踪探测的目标集,来自iPlane [1]项目的补充数据,以及仔细的别名解析。对于这些目标节点的地理位置的基本真相,我们使用Maxmind数据库[2]作为我们的方法的验证集。在我们的测量中确定的114,815个IP目标节点中,有16,874个在Maxmind数据库中被确定为在美国境内,具有已知的城市位置。由于它作为一种商业产品的使用,Maxmind数据库的确切基础方法是不可用的,尽管已知已经广泛使用了用户调查地理位置信息。(由于它依赖于用户生成的数据,更新Maxmind数据库需要大量的用户调查,而这是我们基于学习的方法所不需要的。)

1. Madhyastha, H., Isdal, T., Piatek, M., Dixon, C., Anderson, T., Krishnamurthy, A., Venkataramani, A.: iPlane: An Information Plane for Distributed Services. In: USENIX OSDI 2006 (November 2006)

2. Maxmind geolocation database, http://www.maxmind.com

对于这组16K个目标节点,我们从位于美国的78个PlanetLab节点中收集了跳数计数和延迟测量值,这是我们评估的起点。

我们选择了目标节点的一个子集来训练我们的分类器,训练集节点具有对监视器的已知测量值和已知的地理位置。(在本文中,我们认为IP地址和节点是等价的,因为即使路由器上的别名解析不完善,也不应该影响我们的经验结果。)

对于其余的节点,我们将基于学习的方法和基于约束的地理位置(CBG)[3](使用ping度量的当前最先进的地理位置算法)的地理位置估计与使用Maxmind数据库发现的位置进行比较。我们发现,对于96%的节点,我们的估计器能够提供比CBG更好的位置估计值,并且平均提供的估计值距离真实位置更近70英里。我们相信,这些结果为未来发展基于学习的IP地理定位方法提供了一个令人信服的理由。

3. Gueye, B., Ziviani, A., Crovella, M., Fdida, S.: Constraint-based geolocation of internet hosts. IEEE/ACM Transactions on Networking (December 2006)

2 Learning-Based IP Geolocation

给定一个目标IP地址,我们能确定目标IP的地理位置吗?考虑一个目标IP地址,从一组已知地理位置的监视器到这个目标IP地址。为了本工作,测量集M(= {m_{1}m_{2},...,m_{M} })是来自监视器集的延迟和跳计数值的集合。没有一般性,现在考虑一组可能的县在美国大陆(C),这样的目标位于某个县c\in C,这将使根本的问题更改为,给定测量集M,我们能估计出目标IP位于哪个县c\in C吗?最好的分类器将选择目标最可能位于的县(\hat{c}),即\hat{c}=_{c\in C}^{argmax}\textrm{P(c|M)}。利用贝叶斯定理[4](P(A|B)=\frac{P(B|A)P(A)}{P(B)}),因此我们可以将分类器重申为

相关文章:

A Learning-Based Approach for IP Geolocation(2010年)

下载地址:Towards IP geolocation using delay and topology measurements | Proceedings of the 6th ACM SIGCOMM conference on Internet measurement 被引次数:185 Eriksson B, Barford P, Sommers J, et al. A learning-based approach for IP geolocation[C]//Passive …...

高创新 | [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测

高创新 | [24年新算法]NRBO-XGBoost回归交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测 目录 高创新 | [24年新算法]NRBO-XGBoost回归交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现 [24年新算…...

Web APP设计:将多个相近的机器学习模型融合到一个Web APP中

将多个相近的机器学习模型融合到一个Web APP中 FUSE-ML是一个用于预测腰椎融合术后效果的APP,它可以做出三个不同的结论,分别评价术后的腰痛、腿痛和日常功能是否提高。 这估计是部署了三个机器学习模型在这个APP中,因为一个机器学习模型仅…...

网络爬虫:定义、应用及法律道德考量

网络爬虫技术在当今数据驱动的世界中发挥着重要作用。本文将从网络爬虫的定义和主要功能,其在业界的应用实例,以及涉及的法律和道德问题三个方面进行深入探讨。 1. 爬虫的定义和主要功能 网络爬虫,也称为网页爬虫或蜘蛛,是一种…...

(三)ffmpeg 解码流程以及函数介绍

一、视频解码流程 二、函数介绍 1.avformat_network_init 函数作用: 执行网络库的全局初始化。这是可选的,不再推荐。 此函数仅用于解决旧GnuTLS或OpenSSL库的线程安全问题。如果libavformat链接到这些库的较新版本,或者不使用它们&#…...

go work模块与go mod包管理是的注意事项

如下图所示目录结构 cmd中是服务的包,显然auth,dbtables,pkg都是为cmd服务的。 首先需要需要将auth,dbtables,pkg定义到go.work中,如下: 在这样在各个单独的go mod管理的模块就可以互相调用了。一般情况下这些都是IDE自动进行的,…...

华为OD-C卷-最长子字符串的长度(一)[100分]

题目描述 给你一个字符串 s,首尾相连成一个环形,请你在环中找出 o 字符出现了偶数次最长子字符串的长度。 输入描述 输入是一个小写字母组成的字符串 输出描述 输出是一个整数 备注 1 ≤ s.length ≤ 500000s 只包含小写英文字母用例1 输入 alolobo输出 6说明 最长子字…...

实战小项目 | ESP32-S3和ESP32-C3通过ESP-Mesh-Lite组网 温湿度传感器案例

传统Wi-Fi网络所有终端设备都需要直接与路由器相连,这使得Wi-Fi的覆盖区域受到路由器位置的限制,可接入终端设备的数量也受到路由器容量的限制。而乐鑫ESP-Mesh-Lite Wi-Fi组网方案,所有终端设备都可以与相邻设备连接,摆脱了对路由…...

SiLM5350系列带米勒钳位的单通道隔离驱动器 助力汽车与工业应用实现稳定与高效的解决方案

带米勒钳位的隔离驱动SiLM5350系列 单通道 30V,10A 带米勒钳位的隔离驱动 具有驱动电流更大、传输延时更低、抗干扰能力更强、封装体积更小等优势, 为提高电源转换效率、安全性和可靠性提供理想之选。 SiLM5350系列产品描述: SiLM5350系列是单通道隔离驱…...

c#中怎么自动下载软件

以下是一个简单的 C# 示例,演示如何使用 WebClient 类下载软件: using System; using System.Net; class Program { static void Main(string[] args) { // 要下载的文件 URL string fileUrl "https://example.com/path/to/file"; // 本地保…...

Unity笔记之下拉刷新列表

这样的效果; 代码: using System; using System.Collections; using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class ScrollRectUpdateView : Mon…...

防火墙操作!

当小编在Linux服务器上部署好程序以后,但是输入URL出现下述情况,原来是防火墙的原因!! 下面是一些防火墙操作! 为保证系统安全,服务器的防火墙不建议关闭!! 但是,我们可…...

代码随想录算法训练营第四十一天| 343. 整数拆分,96.不同的二叉搜索树

题目与题解 343. 整数拆分 题目链接:343. 整数拆分 代码随想录题解:343. 整数拆分 视频讲解:动态规划,本题关键在于理解递推公式!| LeetCode:343. 整数拆分_哔哩哔哩_bilibili 解题思路: 一眼懵…...

【MATLAB源码-第53期】m代码基于粒子群算法(PSO)的三维路径规划,显示最优路径和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 粒子群算法(Particle Swarm Optimization,简称PSO)是一种模拟鸟群觅食行为的启发式优化方法。以下是其详细描述: 基本思想: 鸟群在寻找食物时,每只鸟都…...

el-table多行合并

背景 前端统计列表,数据乱序。按日期、产品、阶段、DD项(所有header名称乱写)排序,列表如下。 示例 日期产品阶段DDEEFFGG20240414产品1阶段1场景1A01场景2B01其他A0120240410产品1阶段1场景2B01其他A0120240402产品2阶段1场景3…...

Vue3 + Element-Plus 使用 Table 插槽时数据未及时更新

Vue3 Element-Plus 使用 Table 插槽时数据未及时更新 问题重现解决方法最终效果 问题重现 这里我已经通过二级分类 id 查询到一级分类和二级分类&#xff0c;但是使用插槽和 v-for 渲染出来还是之前的分类 id&#xff0c;但是一点击表格或者保存代码他又能正常刷新出来。 <…...

vue 2 怎么把2024-04-13T17:42:19转换成短日期格式

我们在日常开发过程中&#xff0c;通常会将日期格式在entity中设置成LocalDateTime。这样就有一个麻烦&#xff0c;我们在前端展示这个日期的时候就会变成2024-04-13T17:42:19。这显然不是我们所要的效果&#xff0c;所以我们今天来解决这个问题&#xff0c;让前端展示正确的日…...

网络IO模型以及实际应用

网络IO模型 本文主要介绍了几种不同的网络IO模型&#xff0c;以及实际应用中使用到的Reactor模型等。 我们常说的网络IO模型&#xff0c;主要包含阻塞IO、非阻塞IO、多路复用IO、信号驱动IO、异步IO。 根据第一个阶段&#xff1a;是否需要阻塞&#xff0c;分为阻塞和非阻塞IO。…...

一文详解MES、ERP、SCM、WMS、APS、SCADA、PLM、QMS、CRM、EAM及其关系

经常遇到很多系统&#xff0c;比如&#xff1a;MES、ERP、SCM、WMS、APS、SCADA、PLM、QMS、CRM、EAM&#xff0c;这些都是什么系统&#xff1f;有什么功能和作用&#xff1f;它们之间的关系是怎样的&#xff1f; 今天就一文详细分享给大家。 10大系统之间的关系 ERP 和其他…...

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU使用containerd部署K8S 1.26.15集群(一主多从)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:企业级K8s集群运维实战 1、在当前实验环境中安装K8S1.25.14版本,出现了一个问题,就是在pod中访问百度网站,大概时间有10s多,这个时间太长了,尝试了各种办法,都解决不了,后面尝试安装了了1.26.…...

maven命令

mvn archetype:generate 创建 Maven 项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编译测试源代码 mvn test 运行应用程序中的单元测试 mvn site 生成项目相关信息的网站 mvn clean 清除项目目录中的生成结果 mvn package 根据项目生成的 jar mvn instal…...

jetson系列开发板使用虚拟机烧录系统时,遇见无法识别开发板的情况

在双系统中的ubuntu系统烧录没问题&#xff0c;但是电脑Ubuntu系统由于版本低&#xff0c;所以没有网络&#xff0c;烧录起来还的连网线&#xff0c;所以问了开发板的工程师&#xff0c;所幸&#xff0c;解决了问题&#xff0c;很感谢工程师的指导&#xff0c;特此记录一下&…...

【数据结构】树与二叉树、树与森林部分习题以及算法设计例题 2

目录 【数据结构】树与二叉树、树与森林部分习题以及算法设计例题一、交换二叉树每个结点的左右孩子Swap 函数&#xff08;先序遍历&#xff09;&#xff1a;Swap 函数&#xff08;中序遍历&#xff09; 不可行&#xff1a;Swap 函数&#xff08;后序遍历&#xff09;&#xff…...

Cesium之home键开关及相机位置设置

显隐控制 设置代码中的homeButton var TDT_IMG_C "https://{s}.tianditu.gov.cn/img_c/wmts?servicewmts&requestGetTile&version1.0.0" "&LAYERimg&tileMatrixSetc&TileMatrix{TileMatrix}&TileRow{TileRow}&TileCol{TileCol}…...

FreeRTOS_day1

1.总结keil5下载代码和编译代码需要注意的事项 下载代码前要对仿真进行设置 勾选后代码会立刻执行 勾选后会导致代码不能执行 写代码的时候要写在对应的begin和end之间&#xff0c;否则会被覆盖 2.总结STM32Cubemx的使用方法和需要注意的事项 ①打开软件&#xff0c;新建工程…...

Nginx日志格式化和追踪

背景 Nginx是一款功能强大的Web服务器&#xff0c;对于网络环境中的日志记录和配置至关重要。定制化Nginx日志格式可以帮助管理员更好地监控服务器性能、分析用户行为并做出相应优化。在本文中&#xff0c;我们将深入探讨Nginx日志格式的高级定制化策略&#xff0c;包括理解基…...

华为交换机配置telnet SSH登录步骤

这次项目中的交换机是华为 S5735-L24T4X 需要配置telnet和 SSH登录 在平时项目中发现&#xff0c;华为不同型号&#xff0c;不同版本的配置命令也是不同&#xff0c;&#xff08;这不是脑子有问题吗&#xff1f; 干啥搞成不一样的&#xff09; 本次型号&#xff1a;S5735-L2…...

市面上加密混淆软件的比较和推荐

引言 市面上有许多加密混淆软件可供开发者使用&#xff0c;但哪些软件是最好用的&#xff1f;哪些软件受到开发者的喜爱&#xff1f;本文将根据一次在CSDN上的投票结果&#xff0c;为大家介绍几款在程序员中普及度较高的加密软件。以下是投票结果&#xff0c;希望能对大家的选择…...

最新AI创作系统ChatGPT网站源码AI绘画,GPTs,AI换脸支持,GPT联网提问、DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…...

电视盒子哪个好?2024口碑网络电视盒子排行榜

多年来电视盒子始终占据重要地位&#xff0c;功能上并没有受到影响。在这么多品牌中哪些电视盒子的评价是最好的呢&#xff1f;小编根据各大电商平台的用户评价情况整理了口碑最好的网络电视盒子排行榜&#xff0c;跟着小编一起看看市面上的电视盒子哪个好吧。 TOP 1&#xff1…...

怎样做酒店网站ppt模板/seo推广排名

CentOS搭建Apache&plus;php&plus;MySQL&plus;Redis环境要搭建一个本地linux服务器环境,按照网络教程依葫芦画瓢,噼里啪啦搭好后,发现redis服务怎么也弄不好,不喜欢那种明知有问题却无从下手又无能为力的感觉,碰了无数次壁以后,我决定卸载,重头来过,并尽 ...windows…...

微营销 网站模板/青岛网站seo

Ctrl R 跳到指定打开文件对应methodCtrl Enter 跳转到下一行Ctrl D 选中单词后&#xff0c;按CtrlD可同时选择下一个相同的单词Ctrl L 选择当前光标所在行&#xff0c;继续按&#xff0c;即可选择下一行Ctrl Shift L 选择多行Ctrl G 跳转到第几行Ctrl W 关闭打开文件C…...

网站跳转站代码/baidu百度

作为一个专业玩越狱的能手&#xff0c;配置一些有用的工具和插件那是必不可少的。所以&#xff0c;这篇文章主要介绍安装一下安装和使用一些插件。打开你的越狱手机&#xff0c;映射端口&#xff0c;连接手机&#xff0c;如果有疑问&#xff0c;请查看我的文章&#xff1a;iOS逆…...

网站上广告动图是怎么做的/网络营销七个步骤

写完了接口之后想测试&#xff0c;自己之前总是自己在函数内去定义&#xff0c;也想过自己构建post和get请求&#xff0c;总是太过麻烦。 然后被告知可以用postman来实现&#xff0c;chrome应用商店直接下载&#xff0c;使用很方便&#xff0c;也几乎没有学习成本&#xff0c;今…...

济南j建设网/网站页面关键词优化

可参照&#xff1a;http://www.voidcn.com/blog/Vindra/article/p-4917667.html 一、get请求 curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http://www.baidu.com" 显示全部信息 curl -l "…...

wordpress 会员支付/百度指数数据分析平台

Django模型理论知识 简介 Django模型所在的位置&#xff1a;URL--->视图--->模型&#xff08;mysql&#xff09; 什么是模型&#xff1a; 模型就是数据的唯一的&权威的信息源包含所存储的诗句的必要字段和行为&#xff08;属性和方法&#xff09;一个模型对应一张表如…...