路由基于淘宝IP地址库的图形界面traceroute程序的设计与实现

淘宝ip  时间:2021-01-25  阅读:()

基于淘宝IP地址库的图形界面traceroute

程序的设计与实现

张 亮

(扬州工业职业技术学院电气信息工程学院 江苏扬州 225127)

摘 要: traceroute程序是常用的网络诊断工具之一操作系统自带的traceroute程序均基于终端命令行界面使用不方便且无

法显示每一跳路由IP所对应的地理和运营商信息。设计实现了一个基于图形界面的traceroute程序并利用淘宝网

提供的IP地址库和Web Service API接口 对每一跳路由IP地址进行查询显示该IP地址所对应的运营商及所在地

区。实践证明该traceroute程序比操作系统自带版本使用更加方便和直观。

关键词: traceroute;淘宝IP地址库; ICMP

中图分类号: TP 31 1 52 文献标志码: B 文章编号: 1672-2434(2014)01-0024-03

Design and Implementation of the GUI traceroute

Program Based on TaoBao IP Database

ZHANG Liang

(Department of Electronic Information and Engineering Yangzhou Polytechnic Institute Yangzhou 225127 China)Abstract:Traceroute program is frequently used by network administrators to diagnose network The OS build in traceroute programs are allbased on console  so they are not convenient to use Furthermore  they are unable to display the geographical and carrier infor-mation of the corresponding hop IP address In this paper a GUI version of traceroute program is implemented and the Web

Service API provided by TaoBao is used to resolve every hop IP address And the effectiveness of our program is proved in prac-tical use

Key words: traceroute; TaoBao IP database; ICMP

0 引言

在网络管理和维护工作中操作系统自带的 网路由进行查询特别是对跨运营商网络路由进行trac erout e工具是最常用的基本工具之一通过这一 查询的时候使用十分不便。 因此本文对trac er-工具网管可以清楚地查看从当前主机访问Internet oute工具的原理进行了分析并利用C#和NET平上的任意目标主机时所经过的路由IP地址以及到 台设计和开发了一个基于图形界面的trac ero u t e程每一跳路由所产生的网络延时。然而无论是Wi n- 序在实现trac eroute程序功能的基础上利用淘宝dows操作系统还是Linux操作系统所提供的trac- 网提供的IP地址库和Web Service API接口 对每ero u t e工具均基于终端命令行界面使用不是很方 一跳路由IP地址进行查询显示该IP地址所对应便且该工具完全依靠反向DNS来查询每一跳路由 的运营商及所在地区。实践证明该工具比操作系IP所对应的域名国内运营商路由一般极少提供反 统自带版本使用更加方便和直观。

收稿日期:2013-12-09

作者简介:张 亮( 1981-) 男讲师硕士主要研究方向:计算机专业课程

第13卷 第1期 张 亮:基于淘宝IP地址库的图形界面traceroute程序的设计与实现 25

1 traceroute原理

目前Windows操作系统及Unix、Linux操作系 运行。这样的好处是即使线程因为网络超时发生阻统都自带traceroute工具(在Windows操作系统上名 塞也不会影响主线程的运行。否则如果采用单线称为trac ert) 其实现原理均基于IC MP协议但细节 程设计的方式当网络超时发生时主线程会被阻有一定区别。在Wind o ws系统上trac ert工具的实 塞整个图形界面会卡死从而严重影响用户的使用现是基于ICMP Echo equest Echo eply和TTL- 体验。另外本程序主要在Windows平台下运行因expired的具体来说当源主机使用tracert命令来 此选择采用发送ICMP Echo equest包的方法来实探测前往目标主机的路由时源主机会按顺序发出 现路由跟踪。程序主要实现步骤如下:

最多30个ICMP Echo equest数据包并将第一个 ①定义ICMP类:根据ICMP协议规定实现IC-数据包的TTL值设为1 第二个数据包的TTL值设 MP类相关字段和操作方法。

为2 并依此类推。路径中的第n个路由器会接收 ②创建aw Socket:因为ICMP数据包是直接打到源主机发送的第n个ICMP Echo equest数据包 包在IP包中进行发送的因此程序中如果想收发并因为TTL已经减为0而向源主机发送ICMP TTL- ICMP包必须创建aw Socket。在C#中可以采用expired数据包这样源主机就得到了该跳路由器的 下列代码创建:Sockets = new Socket(Address Fami-IP信息和数据包往来需要的时间。 当目标主机收 ly InterNetwork SocketType a wProtocolType Ic-到最后一个ICMP Echo equest包时会发回type mp) 。需要注意的是微软在Windows 7操作系统为0的ICMP Echo eply包当源主机收到此包时 中加强了对安全性的控制程序运行时默认权限为就知道目标主机已经到达从而结束发送ICMP 非管理员权限而创建aw Socket需要管理员权Echo equest数据包tracert命令结束1 。在Unix 限因此在程序编译成功后需要使用管理员权限来和Li nux系统上当源主机使用trac eroute命令时 运行如果想让程序在启动时自动要求管理员权限会按顺序发出目标UDP端口号大于32768的UDP 可以修改appmanifest文件中的配置项如在Win-数据包同时TTL从1开始递增和上文原理一样 dows XP平台下运行程序则无此问题。

中间的路由器送回ICMP TTL-expired数据包而目 ③获取目标主机IP:使用系统提供的Dns类的标主机会送回ICMP port unreachable数据包(因为 esolve方法对用户输入的域名或者IP进行解析没有任何应用程序会使用大于32768的端口 并打包成IPEndPoint类便于后续发送数据包。需号) 2 。从上述原理可以看出只要任何一跳路由 要注意的是有 一些网站的域名对应多个IP地址器设置不发送ICMP TTL-expired数据包该跳路由 在程序中统一使用返回的第一条IP地址。的信息就无法获得这就是为什么在实践中使用 ④构造ICMP数据包:利用前面定义的ICMP来traceroute命令的时候总有一跳或多跳路由显示“请 构造ICMP数据包。 由于发送的是ICMP Echo e-求超时2 系统实现 任意设置校验和字段先设为0 在其他字段设置完

下使用C#语言开发Winform程序。 ⑤将ICMP打包到IP包中进行发送:通过for

循环控制发送TTL从1开始递增的IP数据包因

2 1 Winform实现 为网络路由一般不可能大于30跳所以程序最多循

控件来显示结果一个B

tOptionName SendTimeout  10000)和SetSocketOp- ip taobaocom/service/get IpInfophp? ip= ip地址tion( SocketOpti onLevel Socket  So cketOpti onName 字串即可。该接口返回的信息为JSON格式J SONeceiveTimeout 10000)来设置发送和接收超时时 (JavaScript Object Notation)是一种轻量级的数据交间本程序都设为10000ms。另外在发送之前需 换格式 易于人阅读和编写同时也易于机器解析要通过DateTimeNow来获取当前系统时间当对应 和生成。如对IP地址222 189 131215进行查询的包返回时再次获取系统时间从而计算出 TT 调用http: //ip taob ao com/servi ce/get IpInfo php?值。 ip=222 189 131 215 返回的结果为{ "code":0 "

⑥将结果在ListBox控件显示:通过eceive- data": { "country": " \u4 e2 d\u56 fd" "country_id": "From( Byteecv  Byteec v Length CN" " are a" : " \ u534 e \u4 e 1 c" " area_id": "SocketFlagsNone ref epSC)方法接收返回的ICMP 300000" "region": "\u6c5f\u82cf\u7701" "region_数据包如果超过规定的时间没有接收到回应则 id": "320000" "city": " \u626c\u5 dde\u5e02" "直接通过continue语句进行下一次循环并在 city_id": "321000" "county": "" "county_id": " ListBox控件中显示此跳路由超时。如果正常接收 1" "isp": " \u7535\u4 fe 1" "isp_id": "100017" "到回应则通过ref epSC引用变量获取该跳路由 ip": "222 189 131215"} } 其中“code”的值的含IP并通过list- Box ItemsAdd方法将该条信息添加 义为0:成功1:失败。而"country"、"region"、"cit-到ListBox控件中。最后需要判断此次接收到的 y"、"isp"则分别对应国家、省、市和运营商它们的ICMP包的type是否为0 如果为0 则说明此次接收 值都用Unicode进行了编码。对应到程序只需要到的已经是IC-MP Echo eply包目标主机已到达 将2 1节中的第⑥步进行改进当通过ref epSC引循环结束否则继续循环将TTL加1后发送下一个 用变量获取某跳路由IP后可通过HttpWebequestICMP Echo e- quest数据包。 类发起GET请求并通过HttpWebesponse类来获

22 淘宝IP地址库简介

通过上述程序步骤已经实现了带图形界面的 不带有对JSON格式数据进行解析的类库需要通trac eroute程序的基本功能但和系统自带的程序一 过第三方类库来进行解析。本项目选择采用著名的样还 无法显示每一跳路由IP地址对应的信息。如 JsonNET 45版本来进行JSON解析JsonNET性果需要解析IP地址的信息需要有一个IP地址信息 能强大使用方便可以便捷地将JSON数据转换数据库才可以实现目前中国各运营商并无官方数据 成NE T类或者可以直接手动对JSON各个Stri ng提供想实现这一功能只能通过第三方数据实现淘 对应的Value进行操作限于篇幅具体API操作可宝IP地址库(http: //ip taob aocom)是目前比较好的 参考该类库的主页http: //j soncodep l excom/测试运行

数据根据淘宝自身统计目前其数据库对IP地址 将代码编译生成可执行文件后在扬州电信宽来源国家的识别准确度达到100%中国大陆省准 带网络环境下对软件进行了测试如对江苏移动官确度超过998%市准确度超过968%运营商准 网进行追踪结果如图1所示。

确度超过943%可以说数据质量相当高完全能 可以看到从扬州电信宽带网络访问江苏移动满足需求。更为重要的是淘宝IP数据库完全通过 网络需要经过电信骨干网然后通过网络互联互通Web Service的方法对外提供免费服务只需调用淘 中心进入中国移动骨干网从而最终访问到江苏移宝提供的Web API 即可得到IP地址对应的信息 动官网目标服务器。通过图1也可以清楚直观地看本地程序无需下载数据库文件使用十分方便。 出当数据包在电信骨干网和移动骨干网内进行传

23 使用淘宝IP地址库进行IP解析

使用淘宝IP地址库进行IP地址解析非常简 联互通带宽不足仍然是造成不同运营商网络互访缓单只需使用GET方式调用淘宝提供的UL:http: // 慢的主要原因。

(下转第32页)

结束语

艺术素养的培养与形成。 在动画产业高速发展的大环境下此专业的人

3)注重创作能力的培养。未来的动画无论怎 才培养面临着重大的挑战。作为高等院校应当以样发展创作的价值比例只能越来越高6 。 因此 较新的教学理念和先进的教学资源对学生加以培在课程的教学中应当注重学生创作能力的培养。 养、训练不断提高学生综合素质和艺术修养。 同在实践课程中不能只教授软件的具体功能还需注 时高校应积极为学生提供较好的创作平台相信不意各软件的意义和价值以及其是如何支持创作的。 久的将来会有越来越多的优秀动画作品脱颖而出。每个学生都有自己的创造力、想象力和艺术天分在

课堂的教学中教师需为学生的天分提供展示的机 参考文献:

会。 因此在 3DSMAX课程教学安排中应加大实 1 康凯三维动画在中国的发展及现状分析J  电影训教学比例鼓励学生创作鼓励学生发挥自己的想 文学2008( 17) : 27-28

象力和创造力建立以学生创作作品为基础的考核 2 陈佼佼动画艺术中应该被重视的艺术性J  大众

对设计问题进行专项研究要求学生在规定时间内 外教育(理论) 2008(6) : 94

完成实训作品7 。例如结合福建省教育厅开展的 6 (美)悉德·菲尔德 电影剧本写作基础———从构思全省第四届大学生艺术节活动教师可要求学生围 到完成剧本的具体指南M  鲍玉珩钟大丰绕活动“我与中国梦”的主题以微电影为背景制 译北京: 中国电影出版社2002: 231 

作一段三维动画的片头。这样既可以激发学生学习 7 徐大鹏 数字艺术设计中的三维动画教学探讨的潜能和兴趣也可以为学生提供创作的平台对学 J 浙江万里学院学报2004(6) : 169-171 生综合能力的提升会有莫大的好处。

檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿

(上接第26页)

什么是BGP国际线路及BGP线路有哪些优势

我们在选择虚拟主机和云服务器的时候,是不是经常有看到有的线路是BGP线路,比如前几天有看到服务商有国际BGP线路和国内BGP线路。这个BGP线路和其他服务线路有什么不同呢?所谓的BGP线路机房,就是在不同的运营商之间通过技术手段时间各个网络的兼容速度最佳,但是IP地址还是一个。正常情况下,我们看到的某个服务商提供的IP地址,在电信和联通移动速度是不同的,有的电信速度不错,有的是移动速度好。但是如果...

NameCheap黑色星期五和网络礼拜一

如果我们较早关注NameCheap商家的朋友应该记得前几年商家黑色星期五和网络星期一的时候大促采用的闪购活动,每一个小时轮番变化一次促销活动而且限量的。那时候会导致拥挤官网打不开迟缓的问题。从去年开始,包括今年,NameCheap商家比较直接的告诉你黑色星期五和网络星期一为期6天的活动。没有给你限量的活动,只有限时六天,这个是到11月29日。如果我们有需要新注册、转入域名的可以参加,优惠力度还是比...

无忧云-河南洛阳BGP,CEPH集群分布式存储,数据安全可靠,活动期间月付大优惠!

 无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点...

淘宝ip为你推荐
软银科技大连同方软银科技信息公司怎么样?待遇,发展等等……加班……视频制作软件哪个好制作视频用哪个软件比较好音乐播放器哪个好音乐播放器哪个好用宝来和朗逸哪个好朗逸 和 宝来 哪个好?三国游戏哪个好玩哪款三国游戏最好玩`!炒股软件哪个好炒股软件真的那么好用吗?无纺布和熔喷布口罩哪个好表层水刺布,中间层pp无纺布+熔喷布,里层pp无纺布口罩好吗?手机炒股软件哪个好手机炒股哪个软件好 要免费的qq空间登录QQ页面上空间不能登陆了,怎么回事?腾讯空间登录QQ空间登录
西安服务器租用 国外vps租用 cdn服务器 vmsnap3 bash漏洞 轻博 php探针 国外在线代理 南通服务器 新睿云 万网空间 杭州电信 服务器托管价格 美国代理服务器 WHMCS 美国达拉斯 木马检测 g6950 天鹰抗ddos防火墙 电脑主机 更多