ping是基于ICMP(Internet Control Message Protocol)协议工作的
 
ICMP报文封装在IP包里,作为“侦察兵”,非常轻巧。
ICMP报文的类型有很多,最常用的是主动请求为8,主动请求的应答为0。
 
查询报文类型
 
    主动发起查询,对应的额就是查询报文类型,ping就是查询报文,是一种主动请求,并且获得主动应答的ICMP协议。
    ping的主动请求和应答分别称为,ICMP ECHO REQUEST 和ICMP ECHO REPLY
比起原生的ICMP,ping多了两个字段,一个是是标识符,一个是序号。
 
 
 
差错报文类型
    几个差错报文的例子:
        终点不可达为3,
        源抑制为4,:让源站放慢发送速度
        超时为11,
        重定向为5 :让下次发给另一个路由器(因为这次绕远路了)
        
        
ping:查询报文类型的使用
 
 
 
Traceroute:差错报文类型的使用
    1.故意设置特使的TTL(为1,到了第一个路由器就报错,返回ICMP包,为2,到了第二个路由器就报错,返回ICMP包,直到目的地为止),来追中去往目的地时沿途经过的路由器
    2.故意设置不分片,从而确定路径的MTU(Maximum Transmission Unit)。发送的第一个分组长度正好与出口MTU相等,遇到窄的关口就会被卡住,发送ICMP网络差错包,类型“需要分片但设置了不分片位”,下次减小分组长度,再发送,循环,知道和目标MTU相等,到达目标主机。
 

7.ICMP与ping的更多相关文章

  1. ICMP协议Ping命令的应用

    ICMP的全称是 Internet Control Message Protocol ,它是TCP/IP协议族的一个子协议,属于网络层协议,用于在IP主机.路由器之间传递控制消息.从技术角度来讲,就是 ...

  2. TCP/IP学习笔记(4)------ICMP,ping,traceroute

    IMCP协议介绍 当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机.给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能 ...

  3. 第7讲 | ICMP与ping:投石问路的侦察兵

    第7讲 | ICMP与ping:投石问路的侦察兵 ping 是基于 ICMP 协议工作的.ICMP 全称 Internet Control Message Protocol,就是互联网控制报文协议. ...

  4. 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理

    概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...

  5. (六)ICMP、ping

    ping命令是ICMP协议 127.0.0.1 ifconfig -all

  6. 使用ICMP协议Ping网络主机

    #coding:utf-8 #!/usr/bin/env python import os import argparse import socket import struct import sel ...

  7. VB6之ICMP实现ping功能

    代码备忘 'code by lichmama from cnblogs.com Private Type IPAddr ip1 As Byte ip2 As Byte ip3 As Byte ip4 ...

  8. 网络协议 5 - ICMP 与 ping:投石问路的侦察兵

        日常开发中,我们经常会碰到查询网络是否畅通以及域名对应 IP 地址等小需求,这时候用的最多的应该就是 ping 命令了. 那你知道 ping 命令是怎么工作的吗?今天,我们就来一起认识下 pi ...

  9. 【网络编程2】网络编程基础-发送ICMP包(Ping程序)

    IP协议 网络地址和主机协议 位于网络层的协议,主要目的是使得网络能够互相通信,该协议使用逻辑地址跨网络通信,目前有两个版本IPV4,IPV6. 在IPV4协议中IP地址是一个32位的数备,采用点分四 ...

随机推荐

  1. CSS Sprite初探之原理、使用

    CSS Sprite简介: 利用CSS Sprites能很好地减少了网页的http请求次数,从而大大的提高了页面的性能,节省时间和带宽.CSS Sprites在国内很多人叫css精灵, 是一种网页图片 ...

  2. leetcode.字符串.205同构字符串-Java

    1. 具体题目 给定两个字符串 s 和 t,判断它们是否是同构的.如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的.所有出现的字符都必须用另一个字符替换,同时保留字符的顺序.两个字符不 ...

  3. 四(2)、springcloud之Ribbon负载均衡

    2.Ribbon负载均衡 ​ Ribbon在工作时分成两步第一步先选择 EurekaServer ,它优先选择在同一个区域内负载较少的server. 第二步再根据用户指定的策略,在从server取到的 ...

  4. 随时更新web html 项目页面,查看手机等其他移动设备的几种方法?

    想一想自己一边写着代码,一边随时看着手机更新页面,对于前端开发者来说是不是爽歪歪: 实现以上效果只需要几个方法: 1) 安装虚拟机 Oracle VM VirtualBox (安装过程省略) 2) 安 ...

  5. IPointCollection.AddPoint Method的用法

    补充指出官方帮助的一个问题. 该方法用于向环.线.面等几何中添加节点.官方帮助里是这样描述的:Adds a vertex to a Path, Ring, Polyline, or Polygon; ...

  6. 解决MSF更新证书错误

    如下图所示提示签名无效下载失败,导致更新不了msf 解决办法如下: echo 'deb http://apt.metasploit.com/ lucid main' > /etc/apt/sou ...

  7. 笔记-Linux安装中文版man

    使用环境为Ubuntu,安装中文版man,同时保留了英文原版,步骤如下: 第一种方法 sudo apt-get update # 更新你的下载源目录,此步骤可省略. sudo apt-get inst ...

  8. 一个服务io占满,服务器无响应

    (1).服务器io占满,服务无响应, sar -q -f  /var/log/sa/sa28 上图显示plist-sz 增加了一倍 plist-sz 说明:进程列表中的进程(processes)和线程 ...

  9. 微信小程序控件

    1   scrollview 窗口view的滑动 <scroll-view scroll-y class='scroll-view-y' bindscrolltoupper="uppe ...

  10. ES6 简化对象写法

    简化的对象写法 * 省略同名的属性值 * 省略方法的function <!DOCTYPE html> <html lang="en"> <head&g ...