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

棉花云1折起(49元), 国内BGP 美国 香港 日本

棉花云官网棉花云隶属于江西乐网科技有限公司,前身是2014年就运营的2014IDC,专注海外线路已有7年有余,是国内较早从事海外专线的互联网基础服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务(SaaS),拥有丰富的国内BGP、双线高防...

Sharktech10Gbps带宽,不限制流量,自带5个IPv4,100G防御

Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...

virmach:AMD平台小鸡,赌一把,单车变摩托?$7.2/年-512M内存/1核/10gSSD/1T流量,多机房可选

virmach送来了夏季促销,价格低到爆炸,而且在低价的基础上还搞首年8折,也就是说VPS低至7.2美元/年。不过,这里有一点要说明:你所购买的当前的VPS将会在09/30/2021 ~ 04/30/2022进行服务器转移,而且IP还会改变,当前的Intel平台会换成AMD平台,机房也会变动(目前来看以后会从colocrossing切换到INAP和Psychz),采取的是就近原则,原来的水牛城可能...

淘宝ip为你推荐
2g内存价格一个2G内存多少钱?马云卸任软银董事马云拥有软银多少股份304和316不锈钢哪个好304不锈钢和316不锈钢哪个好手机浏览器哪个好手机上的浏览器哪个比较好?机械表和石英表哪个好自动石英表与全自动机械表哪个好海克斯皮肤哪个好摄魂使者薇恩和海克斯安妮皮肤哪个好 怎么合成红茶和绿茶哪个好红茶和绿茶哪个好?qq空间登录不上为什么我的qq空间登不上去qq空间登录电脑求助,怎么登陆电脑版的qq空间qqkj空间登录怎么限制qq空间登录.
域名论坛 免费试用vps 美国加州vps 搬瓦工官网 paypal认证 unsplash 空间服务商 panel1 湖南服务器托管 e蜗 howfile hostloc 双十一秒杀 广州服务器 vip域名 跟踪路由命令 美国凤凰城 dnspod 中国电信网络测速 申请免费空间 更多