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

提速啦 韩国服务器 E3 16G 3IP 450元/月 韩国站群服务器 E3 16G 253IP 1100元/月

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

CloudCone月付$48,MC机房可小时付费

CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...

Ceraus24元/月,国庆促销 香港云上新首月五折

Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存​CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...

淘宝ip为你推荐
笔记本内存价格适用联想笔记本的内存条多少钱?软银亏损65亿美元日本软银为什么要出售阿里巴巴股票进行套现,将p图软件哪个好用美图P图软件哪个好,你们用哪个天气预报哪个好用哪个最准确哪个天气预报最准确!绝地求生加速器哪个好绝地求生哪个加速器好用一点,求推荐一个网校哪个好请问在网校排名中,哪个网校是最好的?想找一家最好的来选择啊?oppo和vivo哪个好Vivo和OPPO哪个好点啊?红茶和绿茶哪个好红茶和绿茶哪个比较好?qq空间登录电脑手机怎么登qq空间电脑版?360云盘企业版有什么网盘好用的?360云盘即将停止个人版转向企业版了,百度云限速太厉害不好用,微云感觉空间小了点
美国vps推荐 新通用顶级域名 香港加速器 inmotionhosting webhosting 韩国网名大全 国外免费全能空间 smtp虚拟服务器 lamp的音标 sonya alexa搜 天鹰抗ddos防火墙 监控主机 电脑主机声音大 免费论坛空间 qq空间技术网 好看的空间留言 联想塔式服务器 ibm服务器机柜 总线制报警主机 更多