
举例:ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。
思考1:ICMP协议介于传输层和网络层之间,通常被IP层或者更高层协议(TCP/UDP)使用,那为啥属于网络层而不是传输层?

目前定义类型详见下表,从类型值来看ICMP报文可以分为两大类:第一类是差错报文,第二类是查询报文
Type |
Code |
描述 |
报文类型 |
|---|---|---|---|
0-Echo响应 |
0 |
Echo响应报文 |
查询 |
3-目的不可达 |
0 |
目标网络不可达报文 |
差错 |
1 |
目标主机不可达报文 |
差错 |
|
2 |
目标协议不可达报文 |
差错 |
|
3 |
目标端口不可达报文 |
差错 |
|
4 |
要求分段并设置DF flag标志报文 |
差错 |
|
5 |
源路由失败报文 |
差错 |
|
6 |
未知的目标网络报文 |
差错 |
|
7 |
未知的目标主机报文 |
差错 |
|
8 |
源主机隔离报文 |
差错 |
|
9 |
禁止访问的网络报文 |
差错 |
|
10 |
禁止访问的主机报文 |
差错 |
|
11 |
对特定的TOS网络不可达报文 |
差错 |
|
12 |
对特定的TOS主机不可达报文 |
差错 |
|
13 |
由于过滤 网络流量被禁止报文 |
差错 |
|
14 |
主机越权报文 |
差错 |
|
15 |
优先权终止生效报文 |
差错 |
|
5-重定向 |
0 |
重定向网络报文 |
差错 |
1 |
重定向主机报文 |
差错 |
|
2 |
基于TOS的网络重定向报文 |
差错 |
|
3 |
基于TOS的主机重定向报文 |
差错 |
|
8-Echo请求 |
0 |
Echo请求报文 |
查询 |
9-路由器通告 |
0 |
路由通告报文 |
查询 |
10-路由器请求 |
0 |
路由器的发现/选择/请求报文 |
查询 |
11-ICMP超时 |
0 |
TTL超时报文 |
差错 |
1 |
分片重组超时报文 |
差错 |
|
12-参数问题 |
0 |
IP报首部参数错误报文 |
差错 |
1 |
丢失必要选项报文 |
差错 |
|
2 |
不支持的长度报文 |
差错 |
|
13-时间戳请求 |
0 |
时间戳请求报文 |
查询 |
14-时间戳应答 |
0 |
时间戳应答报文 |
查询 |
15-信息请求 |
0 |
信息请求报文 |
查询 |
16-信息应答 |
0 |
信息应答报文 |
查询 |
Type(类型):表示ICMP报文类型,8表示Echo(ping)request


0表示Echo(ping)reply


Code(代码):标识对应ICMP报文的代码,它与类型字段一起共同标识了ICMP报文的详细类型


Checksum(校验和):对ICMP报文数据部分在内的整个ICMP数据报的校验和


Identifier(标识符):用于表示ICMP进程,占用2字节(单进程内请求与应答报文Identifier字段保持一致


Sequence Number(序列号):用于关联请求报文和应答报文(对应请求和应答报文的序列号相同),占用2字节


思考2:Identifier和Sequence number为何有BE、LE之分?
wireshark考虑到window系统与Linux系统发出的ping报文(主要指ping应用字段而非包含IP头的ping包)的字节顺序不一样(windows为LE:little-endian byte order,Linux为BE:big-endian),为了体现wireshark的易用性,开发者将其分别显示出来。
Packet Content(数据部分):标识ICMP的相关数据部分


我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我想知道我的代码是否在rspec下运行。这可能吗?原因是我正在加载一些错误记录器,这些记录器在测试期间会被故意错误(expect{x}.toraise_error)弄得乱七八糟。我查看了我的ENV变量,没有(明显的)测试环境变量的迹象。 最佳答案 在spec_helper.rb的开头添加:ENV['RACK_ENV']='test'现在您可以在代码中检查RACK_ENV是否经过测试。 关于ruby-检测由RSpec、Ruby运行的代码,我们在StackOverflow上找到一个类似的问题
我正在使用rubydaemongem。想知道如何向停止操作添加一些额外的步骤?希望我能检测到停止被调用,并向其添加一些额外的代码。任何人都知道我如何才能做到这一点? 最佳答案 查看守护程序gem代码,它似乎没有用于此目的的明显扩展点。但是,我想知道(在守护进程中)您是否可以捕获守护进程在发生“停止”时发送的KILL/TERM信号...?trap("TERM")do#executeyourextracodehereend或者你可以安装一个at_exit钩子(Hook):-at_exitdo#executeyourextracodehe
我有一个定义类的Ruby脚本。我希望脚本执行语句BoolParser.generate:file_base=>'bool_parser'仅当脚本作为可执行文件被调用时,而不是当它被irbrequire(或通过-r在命令行上传递)时。我可以用什么来包装上面的语句,以防止它在我的Ruby文件加载时执行? 最佳答案 条件$0==__FILE__...!/usr/bin/ruby1.8classBoolParserdefself.generate(args)p['BoolParser.generate',args]endendif$0==_
我有以下字符串,我想检测那里的换行符。但是Ruby的字符串方法include?检测不到它。我正在运行Ruby1.9.2p290。我哪里出错了?"/'ædres/\nYour".include?('\n')=>false 最佳答案 \n需要在双引号内,否则无法转义。>>"\n".include?'\n'=>false>>"\n".include?"\n"=>true 关于Ruby无法检测字符串中的换行符,我们在StackOverflow上找到一个类似的问题: h
目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标
网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.
文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3
什么是0day漏洞?0day漏洞,是指已经被发现,但是还未被公开,同时官方还没有相关补丁的漏洞;通俗的讲,就是除了黑客,没人知道他的存在,其往往具有很大的突发性、破坏性、致命性。0day漏洞之所以称为0day,正是因为其补丁永远晚于攻击。所以攻击者利用0day漏洞攻击的成功率极高,往往可以达到目的并全身而退,而防守方却一无所知,只有在漏洞公布之后,才后知后觉,却为时已晚。“后知后觉、反应迟钝”就是当前安全防护面对0day攻击的真实写照!为了方便大家理解,中科三方为大家梳理当前安全防护模式下,一个漏洞从发现到解决的三个时间节点:T0:此时漏洞即0day漏洞,是已经被发现,还未被公开,官方还没有相
一、机器人介绍 此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接