icmp数据包(为什么总是显示请求超时)

1. icmp数据包,为什么总是显示请求超时?

通俗来讲就是说明自己的网络连通不好,Ping是对一个目标服务器发出数据包,并且请求获取反馈包的过程,如果发出了数据包,在指定时间内,无法得到获取反馈包,这证明自己与该服务器的网络没有连通。 ping命令中请求超时原因分析:未连接上服务器,这是因为系统忙、网速慢、计算机系统资源不足等导致登陆超时均可出现所述情况! (1) 对方已关机,或者网络上根本没有这个地址 (2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。 (3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。 问怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。 (4)错误设置IP地址 正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。

icmp数据包(为什么总是显示请求超时)

2. icmp数据长度多少字节?

帧的数据字段的最小长度位46字节。如果IP数据报小于46字节,数据报必须被填充到46字节。当采用填充时,传递到网络层的数据包括IP数据报和填充部分。网络层使用IP数据报首部中的长度字段来去除填充部分。

当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和出错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,将帧交给“设备驱动程序”做进一步处理,将帧的数据字段的内容传递给网络层。这时我们抓包的软件才能抓到数据,因此,抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据。

以太网中,IP数据报长度最小为46字节,负载不足46字节,在数据帧的末尾补0,但是补充的0属于以太网层,不属于数据部分。所以wireshark显示的数据帧最小长度是14字节 + 46字节 = 60 字节。

对于ICMP报文,当ICMP 请求报文的 payload 小于 18 字节时,ICMP响应报文会填充0, 但是它们有效负载的长度还是相同的.

计算方法: 46 - IP首部(20字节)-ICMP首部(8字节) = 18 字节。

最大传输单元(MTU):指由IP包头和数据部分组成的IP数据报长度。

以太网中, MTU 设置为 1500。所以ICMP负载长度最大值为

MTU(1500字节) - IP首部长度(20字节)-ICMP首部长度(8字节) = 1472 字节

当ICMP负载长度超过1472字节,ICMP 报文会被分片。如下图所示:

其中,帧354的负载大小为1480字节,等于ICMP最大负载长度(1472字节) + ICMP首部长度(8字节)

分片前 ICMP报文长度为1513字节 = 1480字节 + 33 字节

对应的数据帧:

帧354的长度1514 = 以太网帧首部(14字节) + IP首部(20字节) + ICMP首部(8字节)+ ICMP 负载长度(1472字节)

帧355的长度67字节 = 以太网帧首部(14字节) + IP首部(20字节) + 负载长度(33字节)

可见,帧355的长度67字节中不包含ICMP首部,使用scapy解析该数据包时找不到ICMP首部。

3. icmp协议报文封装方式?

ICMP协议报文封装方式是使用IP数据报来封装和发送的,携带ICMP报文的IP数据报完全像其他类型数据的数据报那样在网络中被转发,没有额外的可靠性和优先级,由于IP数据报本身被放在底层物理数据帧中进行发送,因此,ICMP报文本身也可能丢失或者出现传输错误。

4. ping命令后?

在ping命令中,-1参数的含义是每次发送的ICMP数据包的大小。它通常与-i参数一起使用,-i参数指定每次ping发送的数据包的间隔时间。

1

例如,ping -i 10 -1 128意思是在每次发送一个大小为128字节的数据包,间隔时间为10秒。

2

这个参数可以用来测试网络性能,通过改变数据包大小来观察网络延迟和丢包率的变化,以确定网络对不同数据大小的吞吐量。

5. icmp是什么传输层协议?

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。

6. 跨段ping不通?

1、 测试网络时,经常用的方法是Ping某个IP地址,如果能Ping通,则说明这条链路是畅通的,如没有Ping不通,则说明这个链路不通,这个测试方法得出的结论是不严谨的,也不一定是正确的。

2、Ping功能发送的是ICMP包,并不是完整的TCP/IP协议包,假如你Ping的是和本机同一网段的IP地址,如果Ping不通,目的IP与本地链路不通,结论成立。如果Ping的目的IP地址与本地IP地址不在同一网段,比如说本地IP地址为:192.168.2.106,目的IP地址为:192.168.20.157,使用PIng功能,两个主机相互Ping,如果Ping不通,不能得出两者链路不通的说法。

3、Ping功能不像完整的TCP/IP数据包,PIng功能发送的只不过是ICMP控制报文协议包。当你使用Ping功能时,本地PC会首先查询本地的ARP地址映射表,如果目的IP不在ARP缓存中,则受限会查询ARP映射表。如果你的电路连接的是一般路由器即无没有三层交换路由功能,本地电路查询ARP映射表的时候,会发出一个MAC层目的地址为路由器MAC地址的ICMP数据包,路由器收到ICMP数据包之后,经过地址过滤,发现目的IP地址不是其路由器的子网,则会将此ICMP包抛弃,不会发出ARP查询包进行ARP地址查询。如果本地电脑连接的是有三层交互路由功能的交换机或者路由器,则其会发出ARP查询数据包进行网络查询。

4、举一个例子使用PIng两个IP地址:192.168.2.106;192.168.20.157。假如本地IP地址为:192.168.2.100,如果192.168.2.106链路不通,你会发现当你PIng192.168.2.106,会出现:“无法访问目标主机”的提示;当你Ping192.168.20.157时,会出现:“请求超时”的提示;这个两个提示很明显,计算机产生的行为不一样,提示“请求超时”说明本地发出ICMP包时没有任何的响应,即路由器直接将此包虑掉,当做不安全或者残缺包处理;提示“无法访问目标主机”说明:当前网络下没有这个IP地址可供用户访问

7. 不同交换机之间ip能不能ping通?

测试网络时,经常用的方法是PIng某个IP地址,如果能Ping通,则说明这条链路是畅通的,如没有Ping不通,则说明这个链路不通,这个测试方法得出的结论是不严谨的,也不一定是正确的。

Ping功能不像完整的TCP/IP数据包,PIng功能发送的只不过是ICMP控制报文协议包。

当你使用Ping功能时,本地PC会首先查询本地的ARP地址映射表,如果目的IP不在ARP缓存中,则受限会查询ARP映射表。

如果你的电路连接的是一般路由器即无没有三层交换路由功能,本地电路查询ARP映射表的时候,会发出一个MAC层目的地址为路由器MAC地址的ICMP数据包,路由器收到ICMP数据包之后,经过地址过滤,发现目的IP地址不是其路由器的子网,则会将此ICMP包抛弃,不会发出ARP查询包进行ARP地址查询。

如果本地电脑连接的是有三层交互路由功能的交换机或者路由器,则其会发出ARP查询数据包进行网络查询。

免责声明:本文作者:“游客”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(180)
双人奥特曼小游戏(奥特曼格斗进化3玩家2
上一篇 2023年12月05日
wm6.5主题(为什么很多人都用UC浏览
下一篇 2023年12月05日

相关推荐

返回顶部