网络编程IP网络工具.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP网络工具 授课教师: 导入 ping 命令和traceroute命令都是网络管理者经常用到的网络工具。 ping 命令是测试连接的一个非常有用的工具,可以在各种协议中用来检查同远程主机之间的连接。 traceroute 同ping 命令一样,可以用来测试连接性,它耗费的时间比ping 命令长,但它可以提供更多的信息。 本章就介绍了这两个网络工具的编程实现技术。 本章要点 ping工具编程实现 路由跟踪工具编程实现 ping工具编程 ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中ping 是一个十分好用的TCP/IP工具。 主要的功能是用来检测网络的连通情况和分析网络速度。 ping实现原理: ping命令的工作原理是向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。 ICMP(Internet Control Message Protocol,网间控制报文协议)是一种用于特殊用途的报文机制,可以使互联网中的路由器或主机报告差错或提供有关意外情况的信息。 ICMP报文 ICMP报文为两级封装,每个ICMP消息都封装在IP封包中的数据部分,IP数据报则放在帧的数据中进行网络传输 ICMP包头 ICMP包头包含三个字段:1字节类型域、1字节代码域、2字节校验和。 ICMP包头字段的含义 类型域表示了该报文的类型,如:回应请求报文,数据报超时报文等 代码域表示了该类型的几种不同情况,如:当类型为11(超时报文)时,代码为0表示TTL超时,为1表示片重组超时。 在实现ping功能时要发送回应请求报文(类型为8) ping过程 源主机向目的主机发送一个类型为8的回应请求报文 若目的站点收到回应请求报文则把报文IP包头部中的目的IP与源IP地址交换,将类型8改为回应类型0,计算出新的校验和再发往源主机。 若源主机收到了该回应报文,则不但说明了目的主机可达,而且说明目的主机与源主机之间的路由器工作正常,源主机和目的主机的IP、ICMP软件运行正常。 ping功能实现流程 路由跟踪程序 计算机在Internet中传递信息时,必须要经过路由器进行网络路由才能找到目的主机,把信息送到目的主机。 路由器中都有一张路由表,表中保存了从本路由器到某一主机的路由信息,路由器就是通过该路由表进行网络寻径的。 两台主机之间并没有一条固定的路径(路由表并不固定),该路径随着网络的变动而作相应的变动。 要得到本机与网络上某台主机的网络路径就必须要进行路由跟踪。 路由跟踪原理 Traceroute使用的办法是发送一个UDP封包到目的地址,递加TTL值。 初始情况下, TTL的值是1,意味着UDP封包将到达第一个路由器,在这里TTL将终止。这个终止会促使路由器产生一个ICMP超时封包,并发回。 然后初始的TTL值再加1,再发送这个UDP封包,这样,UDP封包将到达一个更远的路由器,一个ICMP超时封包再次被发回。 收集每个ICMP消息便可以得到封包所经过的路由器。 一旦TTL增加得足够大,以至到达了终端,多半会返回一个ICMP端口不可达消息,因为在接收端没有进程等待这个消息。 实现方法 开始运行后首先创建两个套接字,一个是用于接收ICMP封包的原始套接字sRaw,另一个是用于发送TTL不断增加的UDP封包的套接字sSend。 程序进入无限循环,在sSend套接字上发送UDP封包,逐渐增加封包的TTL值,每次TTL超时,一个ICMP消息就会被发送回来,在sRaw套接字上等待这个消息,打印发送此消息的路由器的信息。这样就获得了所有经过的路由器信息。 程序界面 详细代码见教材 网络编程技术 * 网络编程—— 网络编程技术

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档