icmp协议端口号(ICMP端口号是多少)

      最后更新:2023-08-12 11:24

      网络编程中,ping程序发送的ICMP报文,对方的端口号要怎么写啊?

      在网上找了类似的问题,也许对你有帮助: 问题:在UDP定义中,sin.sin_port = htons(0); 的0是何意思?是否只要在sendto指定对方地址就可以,本方port不用指定,除非也要收回答:在Internet地址族中,一个名字包括几个组成部分,对于SOCK_PGRAM和SOCK_STREAM类套接口,名字由三部分组成:主机地址,协议号(显式设置为UDP和TCP)和用以区分应用的端口号。如果一个应用并不关心分配给它的地址,则可将Internet地址设置为INADDR_ANY,或将端口号置为0。如果Internet地址段为INADDR_ANY,则可使用任意网络接口;在有多种主机环境下可简化编程。如果端口号置为0,则WINDOWS套接口实现将给应用程序分配一个值在1024到5000之间的唯一的端口。参见:http://bbs.csdn.net/topics/20304114
      网络编程中,ping程序发送的ICMP报文,对方的端口号要怎么写啊?

      ICMP协议为什么没有端口?

      不是每个协议都有对应的端口,有的协议是共享的,有的是封装的,所以你如果你想要找到这个协议是通过那个端口传输的,下个端口监测软件,然后根据数据流量和协议说明的对应比较来判断吧。
      ICMP是网络层协议,端口号是应用层协议,所以ICMP没有端口号
      ICMP协议为什么没有端口?

      ICMP协议是什么?

      ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。PING禁入意思是能够防止别的有病毒的电脑或网站等恶意的进攻自己的电脑。ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。
      Internet控制信息协议(ICMP) 介绍在被称为Catenet的系统中,IP协议被用作主机到主机的数据报服务。网络连接设备称为网关。这些网关通过网关到网关协议(GGP)相互交换用于控制的信息。通常,网关或目的主机将和源主机通信,例如,为报告在数据报过程中的错误。为了这个目的才使用了ICMP,它使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。ICMP消息在以下几种情况下发送:当数据报不能到达目的地时,当网关的已经失去缓存功能,当网关能够引导主机在更短路由上发送。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。一些数据报仍将在没有任何报告的情况下丢失。上层协议必须使用自己的差错控制程序来判断通信是否正确。ICMP信息通常报告在处理数据报过程中的错误。若要避免信息无限制地返回,对于ICMP消息不会单独成包发送,而且ICMP信息只在处理数据报偏移量为0时发送。消息格式ICMP消息以基本IP头发送。数据的第一个字节是ICMP类型域;此域的值决定了了其余数据的格式。任何标记为“未使用”的域都是为以后的扩展保留的,在传送过程中必须全部是0。除非在个别的格式之下,包头域如下格式:版本:4IHL:Internet头长度大小以32位字为单位。服务类型:0总长度:包头长度和数据长度。段中所用标识,段偏移量:在段是使用。生存周期:以秒计,此域在每台机器处理数据报时减少,此值必须大于要传送它的网关所消耗的时间。协议:ICMP = 1包头校验码:16位数据反码和再取反而得。为计算校验码,此域应该为0。在将来可以会取代这一域。源地址:创建ICMP信息的网关或主机地址,除非说明,它可以是任何网关地址。目的地址:信息要发送到的网关或主机地址。未达目的地信息图1IP域:目的地址,发送原始数据报数据的网络地址ICMP域:类型:3代码:0 = 网络不可达;1 = 主机不可达;2 = 协议不可用;3 = 端口不可达;4 = 需要段和DF设置;5 = 源路由失败;校验码:16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。Internet包头+源数据报:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。说明:相应于网关的路由表,如果在目的域中指定的网络不可达,如网络距离为无限远,网关会向发送源数据的主机发送目的不可达消息。而且,在一些网络中,网关有能力决定目的主机是否可达。如果目的地不可达,它将向发送源数据的主机发送不可达信息。在目的主机,如果IP模块因为指定的协议模块和进程端口不可用而不能提交数据报,目的主机将向发送源数据的主机发送不可达信息。另外一种情况是当数据报必须被分段传送,而“不可分段”位打开,在这种情况下,网关必须抛弃此数据报,并向向发送源数据的主机发送不可达信息。代码0,1,4和5由网关发送,而代码2和3由主机发送。超时信息图2IP域:目的地址:从源数据报数据中得到。ICMP域:类型:11代码:0 = 传送超时;1 = 分段级装超时。校验码:16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。Internet包头+64位源数据报数据:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。说明:如果网关在处理数据报时发现生存周期域为零,此数据报必须抛弃。网关同时必须通过超时信息通知源主机。如果主机在组装分段的数据报时因为丢失段未能在规定时间内组装数据,此数据报必须抛弃。网关发送超时信息。如果段零不可用则不用发送超时信息。代码0由网关发送,代码1由主机发送。参数问题消息图3IP域:目的地址:从源数据中得到。ICMP域:类型:12代码:0 = 指针指向错误。校验码: 16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。指针如果code = 0,指向有问题的字节。Internet包头+64位源数据报数据:Internet包头+64位源数据报数据:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。说明:如果网并或主机在处理数据报时发现包头参数有错误以至不能完成工作,它必须抛弃此数据报。一个潜在的原因可以是变量的错误。网关或主机将通过参数问题消息通知源主机,此消息只有在消息被抛弃时才被发送。指针指向发现错误的数据报包头字节。代码: 从主机或网关接收0。源拥塞消息图4IP域:目的地址:源数据报数据的地址和源网络。ICMP域:类型:4代码: 0校验码: 16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。Internet包头+64位源数据报数据: Internet包头+64位源数据报数据:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。说明:如果没有缓冲容纳,网关会抛弃数据报,如果网关这样做了,它会发送源拥塞消息给发送主机。如果接收的数据报太多无法处理,目的主机也会发送相应的消息给发送主机。此消息要求发送发减少发送速率,网关会给每个抛弃的消息返回源拥塞消息,在接到此消息后,发送主机应该减少发送速率,直到不再接收到网关发送的源拥塞消息为止。在此之后,源主机可以再增加发送速率,直到接收到目的主机的源拥塞消息为止。网关或主机不会等到已经超过限度后再发送此消息,而是接近自己的处理极限时就发送此消息,这意味着,引发源拥塞消息的数据报仍然可以处理。代码: 从主机或网关接收0。重定向消息图5IP域:目的地址:源数据报数据的地址和源网络。ICMP域:类型: 5代码:0 = 重定向网络的数据报;1 = 重定向主机的数据报;2 = 重定向网络和服务类型的数据报;3 = 重定向网络和主机类型的数据报。校验码:16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。网关Internet地址:应该发送网关地址(其在源数据报数据的internet目的网络域中指定)。Internet包头+64位源数据报数据:Internet包头+64位源数据报数据:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。说明:网关在下面情况下发送重定向消息。网关(G1)从网关相连的网络上接收到数据报,它检查路由表获得下一个网关(G2)的地址(X)。如果G2和指定的接收主机在同一网络上,重定向消息发出,此消息建议发送主机直接将数据报发向网关G2,因为这更近,同时网关G1向前继续发送此数据报。因为在数据报中的IP源路由和目的地址域是可选的,所以即使有更好的路由有时也无法发现。代码:网关发送0,1,2和3。回送或回送响应消息图6IP域:地址:回送消息的源地址是回送响应消息的目的地址。若要形成一个回送响应消息,应该将源和目的地址交换,将类型代码更改为0,重新计算机校验码。IP域:类型:8代表回送消息;0代表回送响应消息。代码:0校验码:16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。标识符:如果代码=0,帮助匹配回送和回送响应的代码可以为0。序列码:如果代码=0,帮助匹配回送和回送响应的序列码可以为0。说明:回送消息中接收到的消息应该在回送响应消息中返回。标识符和序列码由回送发送者使用帮助匹配回送请求的响应。代码: 从主机或网关接收0。时间戳和时间戳响应消息图7IP域:地址:时间戳消息的源地址是时间戳响应消息的目的地址。若要形成一个时间戳响应消息,应该将源和目的地址交换,将类型代码更改为14,重新计算机校验码。IP域:类型:13代表时间戳消息;14代表时间戳响应消息。代码:0校验码:16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。标识符:如果代码=0,帮助匹配时间戳和时间戳响应的代码可以为0。序列码:如果代码=0,帮助匹配时间戳和时间戳响应的代码可以为0。说明:接收到的时间戳附加在响应里返回,时间是以百万分之一称为单位计算,并以标准时午夜开始计时。原时间戳是发送方发送前的时间。接收时间戳是回送者接收到的时间,传送时间是回送者发送的时间。如果时间以百万分之一秒计无效,或者不能以标准时提供,可以在时间戳的高字节填充入数据以表示这不是标准数据。标识符和序列码由发送者匹配请求的响应。代码: 从主机或网关接收0。信息请求或信息响应消息图8IP域:地址:信息请求消息的源地址是信息响应消息的目的地址。若要形成一个信息响应消息,应该将源和目的地址交换,将类型代码更改为16,重新计算机校验码。IP域:类型:15代表信息请求消息;16 代表信息响应消息。代码: 0校验码:16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。标识符:如果代码=0,帮助匹配信息请求和信息响应的代码可以为0。序列码:如果代码=0,帮助匹配信息请求和信息响应的代码可以为0。说明:此消息可以在IP包头中以源网络地址发送,但同时目的地址域为0(这表示此网络内)。响应IP模块应该发送完全指定地址的响应。发送此消息是主机寻找到自己所在网络号码的一种方法。标识符和序列码由发送者匹配请求的响应。代码: 从主机或网关接收0。消息类型总结0 回送响应3 目的不可达4 源拥塞5 重定向8 回送11 超时12 参数问题13 时间戳14 时间戳响应15 信息请求 16 信息响应
      ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。ICMP的重要性ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。例如,在1999年8月海信集团“悬赏”50万元人民币测试防火墙的过程中,其防火墙遭受到的ICMP攻击达334050次之多,占整个攻击总数的90%以上!可见,ICMP的重要性绝不可以忽视!比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。应对ICMP攻击虽然ICMP协议给黑客以可乘之机,但是ICMP攻击也并非无药可医。只要在日常网络管理中未雨绸缪,提前做好准备,就可以有效地避免ICMP攻击造成的损失。对于“Ping of Death”攻击,可以采取两种方法进行防范:第一种方法是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,这样即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少;第二种方法就是在主机上设置ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。设置ICMP数据包处理规则的方法也有两种,一种是在操作系统上设置包过滤,另一种是在主机上安装防火墙。具体设置如下:1.在Windows 2000 Server中设置ICMP过滤Windows 2000 Server提供了“路由与远程访问”服务,但是默认情况下是没有启动的,因此首先要启动它:点击“管理工具”中的“路由与远程访问”,启动设置向导。在其中选择“手动配置服务器”项,点击[下一步]按钮。稍等片刻后,系统会提示“路由和远程访问服务现在已被安装。要开始服务吗?”,点击[是]按钮启动服务。服务启动后,在计算机名称的分支下会出现一个“IP路由选择”,点击它展开分支,再点击“常规”,会在右边出现服务器中的网络连接(即网卡)。用鼠标右键点击你要配置的网络连接,在弹出的菜单中点击“属性”,会弹出一个网络连接属性的窗口,如图1所示。图1图1中有两个按钮,一个是“输入筛选器”(指对此服务器接受的数据包进行筛选),另一个是“输出筛选器”(指对此服务器发送的数据包进行筛选),这里应该点击[输入筛选器] 按钮,会弹出一个“添加筛选器”窗口,再点击[添加]按钮,表示要增加一个筛选条件。在“协议”右边的下拉列表中选择“ICMP”,在随后出现的“ICMP类型”和“ICMP编码”中均输入“255”,代表所有的ICMP类型及其编码。ICMP有许多不同的类型(Ping就是一种类型),每种类型也有许多不同的状态,用不同的“编码”来表示。因为其类型和编码很复杂,这里不再叙述。点击[确定]按钮返回“输入筛选器”窗口,此时会发现“筛选器”列表中多了一项内容(如图2所示)。点击[确定]按钮返回“本地连接”窗口,再点击[确定]按钮,此时筛选器就生效了,从其他计算机上Ping这台主机就不会成功了。图22. 用防火墙设置ICMP过滤现在许多防火墙在默认情况下都启用了ICMP过滤的功能。如果没有启用,只要选中“防御ICMP攻击”、“防止别人用ping命令探测”就可以了,如图3所示。图3 通过以上讲解,你现在知道ICMP的重要性了吧?赶紧给你的服务器设置ICMP过滤吧。
      ICMP协议介绍 在被称为Catenet的系统中,IP协议被用作主机到主机的数据报服务。网络连接设备称为网关。这些网关通过网关到网关协议(GGP)相互交换用于控制的信息。通常,网关或目的主机将和源主机通信,例如,为报告在数据报过程中的错误。为了这个目的才使用了ICMP,它使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。ICMP消息在以下几种情况下发送:当数据报不能到达目的地时,当网关的已经失去缓存功能,当网关能够引导主机在更短路由上发送。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。一些数据报仍将在没有任何报告的情况下丢失。上层协议必须使用自己的差错控制程序来判断通信是否正确。ICMP信息通常报告在处理数据报过程中的错误。若要避免信息无限制地返回,对于ICMP消息不会单独成包发送,而且ICMP信息只在处理数据报偏移量为0时发送。PING介绍因为你在上网浏览的时候,如果需要手动解析域名,那么就需要PING了。防火墙允许PING出就是因为这点。PING不完全是坏的,PING一般用于检测对方机器是否开机、域名解析等等。如果你禁止了PING出,那么这两个功能就无法使用了。 但是,禁止PING入还是有比较重要的用途的。因为有的人(或病毒)会用PING来搜索同一网域上的在线主机进行攻击。另外,一般个人电脑开PING没有用途,顶多让别人攻击。所以这个应该关的。
      总是弹出有些IP禁入 意思是某些攻击源IP被过滤了 PING禁入是什么意思 有用在用ping你的计算机由于ping命令的数据帧是在L2的ICMP协议里传输的,所以一般禁ping都是通过封ICMP协议达到 icmp是信息管理控制协议
      ICMP协议是什么?

      ping使用的是哪个端口

      ping是ICMP协议,并不是通常所说的 TCP/UDP 端口。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:ping空格IP地址。该命令还可以加许多参数使用,具体是键入ping按回车即可看到详细说明。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。扩展资料Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"还有"Source quench received"。"Request Timed Out"这个信息表示对方主机可以到达到TIME OUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙或已下线。IP不正确主要是IP地址设置错误或IP地址冲突,这可以利用ipconfig /all这命令来检查。在WIN2000下IP冲突的情况很少发生,因为系统会自动检测在网络中是否有相同的IP地址并提醒你是否设置正确。在NT中不但会出现"request time out"这提示而且会出现"Hardware error"这提示信息比较特殊不要给它的提示所迷惑。参考资料来源:百度百科--ping(网络诊断工具)
      ping使用的是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:ping空格IP地址。该命令还可以加许多参数使用,具体是键入ping按回车即可看到详细说明。扩展资料:ping的常见错误:1、IP不正确:IP不正确主要是IP地址设置错误或IP地址冲突,这可以利用ipconfig /all这命令来检查。在WIN2000下IP冲突的情况很少发生,因为系统会自动检测在网络中是否有相同的IP地址并提醒你是否设置正确。2、网关设置错误这个错误可能会在第四个步骤出现。网关设置错误主要是网关地址设置不正确或网关没有帮你转发数据,还有就是可能远程网关失效。这里主要是在你Ping外部网络地址时出错。错误表现为无法Ping外部主机返回信息"Request timeout"。参考资料来源:百度百科—ping
      只要用有端口开着,一般都有可能被PING入,不过默认被PING 的是80与21,操作方法如下:1、首先打开电脑,然后点击开始菜单,找到并打开控制面板。2、然后在打开的控制面板里,找到并点击“程序”选项。3、接着在程序选项下,找到并点击“打开或关闭Windows功能”4、在打开的对话框中,找到“Telnet客户端”并且勾选。然后点击“确定”,等待几分钟,系统将会为你开启Telnet客户端服务。5、还可以打开管理员窗口,在窗口中输入Telnet IP端口或者Telnet域名端口,回车。6、端口打开的情况下,连接成功,则进入Telnet页面(全黑的),证明端口可用。
      ping是ICMP协议,并不是通常所说的 TCP/UDP 端口~ ICMP不象TCP或UDP有端口,但它确实含有两个域:类型(type)和代码(code)。而且这些域的作用和端口也完全不同ping没有指定端口这个选项,它是网络层的,端口是传输层的概念。 Ping程序使用的是ICMP协议,ICMP不像http,FTP应用层有传输层的端口号,(它们使用TCP的端口号80和20/21)。
      Ping用于确定本地主机是不是可以与另外一台主机成功交换数据包,然后再根据返回的信息,我们就可以大致判断TCP/IP参数是否设置正确,网络是否畅通了。
      ping使用的是哪个端口

      急需高手指点~ping命令是用的什么端口?

      Ping程序使用的是ICMP协议,ICMP不像http,FTP应用层有传输层的端口号,(它们使用TCP的端口号80和20/21)。Ping用到的是ICMP协议,不是端口。在Linu下输入下面两句iptables -A INPUT -i eth+ -p icmp --icmp-type 8 -j ACCEPTiptables -A OUTPUT -o eth+ -p icmp --icmp-type 0 -j ACCEPT就可以打开所有网卡的Ping功能了。扩展资料:Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。命令参数参照ping命令的帮助说明来说说使用中会需要的技巧,ping只有在安装了TCP/IP协议以后才可以使用:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list说明:通常情况下,XP以上系统的ping命令帮助显示的是中文,故无需翻译。Options:-t Ping the specified host until stopped To see statistics and continue - type Control-Break;To stop - type Control-C.不停的ping对方主机,直到用户按下Control-C。参考资料来源:百度百科-ping (网络诊断工具)
      Ping程序使用的是ICMP协议,ICMP不像http,FTP应用层有传输层的端口号,(它们使用TCP的端口号80和20/21)。ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。扩展资料:CMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关事件。
      ping的作用Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。以下是PING的一些参数:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list-tPing 指定的计算机直到中断。-a将地址解析为计算机名。-n count发送 count 指定的 ECHO 数据包数。默认值为 4。-l length发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。-f在数据包中发送不要分段标志。数据包就不会被路由上的网关分段。-i ttl将生存时间字段设置为 ttl 指定的值。-v tos将服务类型字段设置为 tos 指定的值。-r count在记录路由字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。-s count指定 count 指定的跃点数的时间戳。-j computer-list利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。-k computer-list利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。-w timeout指定超时间隔,单位为毫秒。destination-list指定要 ping 的远程计算机。Ping的返回信息有Request Timed Out、Destination Net Unreachable和Bad IP address还有Source quench received。Request Timed Out这个信息表示对方主机可以到达到TIME OUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙或已下线。Destination Net Unreachable这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下destination host unreachable和time out的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现time out,如果路由表中连到达目标的路由都没有,那就会出现destination host unreachable。Bad IP address 这个信息表示你可能没有连接到DNS服务器所以无法解析这个IP地址,也可能是IP地址不存在。Source quench received信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。怎样使用Ping这命令来测试网络连通呢?连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。首先我们讲一下使用Ping命令的步骤。使用Ping检查连通性有五个步骤:1. 使用ipconfig /all观察本地网络设置是否正确;2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;3. Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;4. Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)5. Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。在检查网络连通的过程中可能出现一些错误,这些错误总的来说分为两种最常见。1. Request Timed Outrequest time out这提示除了在《PING(一)》提到的对方可能装有防火墙或已关机以外,还有就是本机的IP不正确和网关设置错误。①、IP不正确:IP不正确主要是IP地址设置错误或IP地址冲突,这可以利用ipconfig /all这命令来检查。在WIN2000下IP冲突的情况很少发生,因为系统会自动检测在网络中是否有相同的IP地址并提醒你是否设置正确。在NT中不但会出现request time out这提示而且会出现Hardware error这提示信息比较特殊不要给它的提示所迷惑。②、网关设置错误:这个错误可能会在第四个步骤出现。网关设置错误主要是网关地址设置不正确或网关没有帮你转发数据,还有就是可能远程网关失效。这里主要是在你Ping外部网络地址时出错。错误表现为无法Ping外部主机返回信息Request timeout。2. Destination Host Unreachable当你在开始PING网络计算机时如果网络设备出错它返回信息会提示destination host unreachable。如果局域网中使用DHCP分配IP时,而碰巧DHCP失效,这时使用 PING命令就会产生此错误。因为在DHCP失效时客户机无法分配到IP系统只有自设IP,它往往会设为不同子网的IP。所以会出现Destination Host Unreachable。另外子网掩码设置错误也会出现这错误。还有一个比较特殊就是路由返回错误信息,它一般都会在Destination Host Unreachable前加上IP地址说明哪个路由不能到达目标主机。这说明你的机器与外部网络连接没有问题,但与某台主机连接存在问题。举个例子吧。我管理的网络有19台机,由一台100M集线器连接服务器,使用DHCP动态分配IP地址。有一次有位同事匆忙地告诉我我的OUTLOOK打不开了,我到他机器检查,首先我检查了本地网络设置,我用ipconfig /all看IP分配情况一切正常。接着我就开始PING网络中的其中一台机器,第一次PING结果很正常,但OUTLOOK还是无法使用其它网络软件和Copy网络文件都可以使用但网络速度很慢,第二次PING我用了一个参数-t(-t可以不中断地PING对方,当时我想PING一次可能发现不了问题)发现有time=30ms和request time out,从服务器PING这台机就更有趣,request time out比正常数据还多,在局域中竟然有time=30ms和request time out太不正常了。开始我认为是网卡的问题但换网卡后故障依旧,重做网线还是不能解决问题,这故障真有趣!最后我没办法了把它插在集线器端口上的另一端的网线换到另一个端口,哈!故障解决了。原来是集线器端口坏了。如何用Ping命令来判断一条链路的速度?Ping这个命令除了可以检查网络的连通和检测故障以外,还有一个比较有趣的用途,那就是可以利用它的一些返回数据,来估算你跟某台主机之间的速度是多少字节每秒我们先来看看它有那些返回数据。Pinging 202.105.136.105 with 32 bytes of data:Reply from 202.105.136.105: bytes=32 time=590ms TTL=114Reply from 202.105.136.105: bytes=32 time=590ms TTL=114Reply from 202.105.136.105: bytes=32 time=590ms TTL=114Reply from 202.105.136.105: bytes=32 time=601ms TTL=114Ping statistics for 202.105.136.105:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 590ms, Maximum = 601ms, Average = 593ms在例子中bytes=32表示ICMP报文中有32个字节的测试数据(这是估算速度的关键数据),time=590ms是往返时间。怎样估算链路的速度呢?举个例子吧。我们把A和B之间设置为PPP链路。从上面的PING例子可以注意到,默认情况下发送的ICMP报文有32个字节。除了这32个字节外再加上20个字节的IP首部和8个字节的ICMP首部,整个IP数据报文的总长度就是60个字节(因为IP和ICMP是Ping命令的主要使用协议,所以整个数据报文要加上它们)。另外在使用Ping命令时还使用了另一个协议进行传输,那就是PPP协议(点对点协议),所以在数据的开始和结尾再加上8个字节。在传输过程中,由于每个字节含有8bit数据、1bit起始位和1bit结束位,因此传输速率是每个字节2.98ms。由此我们可以估计需要405ms。即68*2.98*2(乘2是因为我们还要计算它的往返时间)。我们来测试一下33600 b/s的链路:Pinging 202.105.36.125 with 32 bytes of data:Reply from 202.105.36.125: bytes=32 time=415ms TTL=114Reply from 202.105.36.125: bytes=32 time=415ms TTL=114Reply from 202.105.36.125: bytes=32 time=415ms TTL=114Reply from 202.105.36.125: bytes=32 time=421ms TTL=114Ping statistics for 202.105.36.125:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 415ms, Maximum = 421ms, Average = 417ms看是不是差不多啊。^_^ 这里大家可能要注意到,这估算值跟实际值是有误差的,为什么呢?因为我们现在估算的是一个理论值,还有一些东西我们没有考虑。比如在网络中的其它干扰,这些干扰主要来之别的计算机。因为在你测试时不可能全部计算机停止使用网络给你做测试,这是不实际的。另外就是传输设备,因为有某些设备如MODEM它在传输时会把数据压
      ping命令不涉及端口问题Ping是利用icmp报文,而icmp报文在几层我就不说了强调一下,端口,是应用层识别特定应用的,作用类似3层IP,2层mac.
      Ping用到的是ICMP协议。不是端口。 在Linu下输入下面两句iptables -A INPUT -i eth+ -p icmp --icmp-type 8 -j ACCEPTiptables -A OUTPUT -o eth+ -p icmp --icmp-type 0 -j ACCEPT 就可以打开所有网卡的Ping功能了
      急需高手指点~ping命令是用的什么端口?

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类