路由基于淘宝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页)

王小玉网-美国洛杉矶2核4G 20元/月,香港日本CN2 2核2G/119元/季,美国300G高防/80元/月!

 活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...

knownhost西雅图/亚特兰大/阿姆斯特丹$5/月,2个IP1G内存/1核/20gSSD/1T流量

美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...

两款半月湾 HMBcloud 春节88折日本和美国CN2 VPS主机套餐

春节期间我们很多朋友都在忙着吃好喝好,当然有时候也会偶然的上网看看。对于我们站长用户来说,基本上需要等到初八之后才会开工,现在有空就看看是否有商家的促销。这里看到来自HMBcloud半月湾服务商有提供两款春节机房方案的VPS主机88折促销活动,分别是来自洛杉矶CN2 GIA和日本CN2的方案。八八折优惠码:CNY-GIA第一、洛杉矶CN2 GIA美国原生IP地址、72小时退款保障、三网回程CN2 ...

淘宝ip为你推荐
闪迪和金士顿哪个好闪迪和金士顿哪个好录音软件哪个好什么软件用来录音更好?手机音乐播放器哪个好手机音乐播放器音质好的APP是那款手机音乐播放器哪个好手机哪个音乐播放器的音质更好?手机音乐播放器哪个好手机音乐播放器什么的好?车险哪个好人保和平安车险哪个好网络机顶盒哪个好机顶盒哪个好用51空间登录51空间怎么进qq空间登录器怎样直接登录QQ空间dns服务器未响应DNS服务器未响应
电信服务器租赁 搬瓦工官网 抢票工具 godaddy优惠券 淘宝双十一2018 天猫双十一抢红包 一元域名 中国特价网 南昌服务器托管 刀片服务器是什么 dnspod 免费asp空间 东莞服务器托管 东莞主机托管 中国联通宽带测速 空间申请 创速 黑科云 hostease zcloud 更多