首页 > 其他分享 >ping,telnet,traceroute原理

ping,telnet,traceroute原理

时间:2024-04-10 15:13:11浏览次数:15  
标签:icmp traceroute +-----------------------------------------------------+ 报文 ping 

1 ping

ping发送的是ICMP报文,ICMP报文是和tcp报文处在同一层次,嵌套在IP报文内(报文头中的Protocol=1,在IP报文中通过Protocol的值决定接下来应当将数据交给哪个协议层进行进一步处理,tcp协议Protocol=6,ICMP协议Protocol=1)
tcp协议报文必须指定源端口和目的端口
ICMP协议报文不需要指定端口,这也是为什么我们使用ping命令时不需要端口

tcp报文和icmp报文对比如下:

icmp报文

    +-----------------------------------------------------+
    | IP Header (至少20字节)                         |
    +-----------------------------------------------------+
    | ICMP Header (8字节)                                |
    +-----------------------------------------------------+
    | ICMP Data / Payload (根据需要可变长度)        |
    +-----------------------------------------------------+

tcp报文

    +-----------------------------------------------------+
    | IP Header (至少20字节)                              |
    +-----------------------------------------------------+
    | TCP Header (至少20字节)                             |
    +-----------------------------------------------------+
    | TCP Segment Payload (根据需要可变长度)              |
    +-----------------------------------------------------+

我们再看看icmp报文详情

    +-----------------------------------------------------+
    | IP Header (至少20字节)                         |
    +-----------------------------------------------------+
    | ICMP Header (8字节)                                |
    +-----------------------------------------------------+
    | ICMP Data / Payload (根据需要可变长度)        |
    +-----------------------------------------------------+

ICMP Header:
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Identifier          |        Sequence Number        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         (various fields based on the type and code)         |
   +---------------------------------------------------------------+

- Type: 8位,标识ICMP报文的类型,如Echo Request(8),Echo Reply(0),Destination Unreachable(3)等。
- Code: 8位,进一步细化ICMP类型中的错误或状态信息。
- Checksum: 16位,用于校验整个ICMP报文的完整性。
- Identifier 和 Sequence Number: 在某些类型的ICMP报文中(如Ping请求与回应)使用,作为识别请求和响应报文的依据。
- ICMP Data / Payload: 根据ICMP类型不同而变化,可能包含额外的信息,例如在Ping请求和回应中,这部分会携带原始发送的数据。

我们所使用的ping命令,发送报文Type=8(Echo Request),响应报文Type=0(Echo Reply)。ping命令检测目的地址的可达性。

ping命令的详细过程
当我们执行ping命令时,ping程序会准备好一个icmp报文,然后发起系统调用socket(ip地址, SOCK_RAW, IPPROTO_ICMP),内核会处理tcpip协议栈报文的封装,比如icmp报文会封装成一个ip报文,ip报文还会继续封装成以太网帧等等
然后到达主机的网络接口卡(NIC)接收到来自数据链路层的以太网帧,将报文发送出去
经过复杂的网络环境比如防火墙、路由器,到达目的主机的网卡,目的主机网卡接收到以太网帧,通过本机的tcpip协议栈,最终还原为icmp报文。
目的主机内核处理过程中,期间会有多个钩子函数,用于调用本机防火墙配置,如果配置不可ping,则目的主机将不响应这个报文。
当目的主机没有相关的限制,将发送响应报文给源主机
源主机收到响应报文,网络通路。

 

标签:icmp,traceroute,+-----------------------------------------------------+,报文,ping,
From: https://www.cnblogs.com/zhenjingcool/p/18126060

相关文章

  • Elasticsearch之-mapping 映射管理
    目录Elasticsearch之-mapping映射管理一、映射介绍1.1字段数据类型1.2映射参数二、创建索引时指定映射2.16.x的版本写法2.27.x版本以后2.3插入数据测试三、查看索引Elasticsearch之-mapping映射管理在Elasticsearch6.0.0或更高版本中创建的索引只包含一个mappingtype......
  • elasticsearch mapping
    1 概念:​ ES中的mapping有点类似与RDB中“表结构”的概念,在MySQL中,表结构里包含了字段名称,字段的类型还有索引信息等。在Mapping里也包含了一些属性,比如字段名称、类型、字段使用的分词器、是否评分、是否创建索引等属性,并且在ES中一个字段可以有对个类型。分词器、评分等概念在......
  • (待完善)ping不通物理机
    问题的关键点:物理机ipv4与虚拟机ipv4相同解决方法:更改虚拟机静态ipv4,更改映射点击查看代码[root@hadoop101~]#vim/etc/sysconfig/network-scripts/ifcfg-ens33IPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-priv......
  • flask 装饰器 AssertionError: View function mapping is overwriting an existing en
    1问题描述写了一个登陆认证装饰器,部分试图,只有用户登陆才能访问deflogin_wrapper(func):definner(*args,**kwargs):"""判断是否登陆若是进入视图函数否则重定向到登陆页面"""if......
  • 通过Telnet访问网络设备
            要通过Telnet访问网络设备,需要通过Console端口对网络设备进行基本配置,例如,IP地址、子网掩码、用户名和登录密码等。本实验以路由器为例,交换机远程管理只是接口名字不同而已,路由器用物理接口,交换机用SVI接口进行管理。1、实验目的通过本实验可以掌握:路由器......
  • CF1909G Pumping Lemma 题解
    题目链接题目要求我们对合法三元组进行计数,直接做是困难的,因此考虑通过枚举确定一部分元素再进行判定求解,那我们固定什么呢?固定\(x\)和\(y+z\)的分界线没啥用,因此我们枚举确定\(S\)中\(x+y\)和\(z\)的分界线,这样能确定一长串\(y^{k-1}\)所在的区间。接着我们不难想......
  • linux后台长ping带日期时间写入日志
    搜索一下,常见的写法都一样pingbaidu.com|awk'{printstrftime("%Y-%m-%d%H:%M:%S",systime())"\t"$0;fflush()}'>>long_ping.txt&可在后台进行,但一关闭shell窗口就没了nohuppingbaidu.com|awk'{printstrftime("%Y-%m-%d%......
  • 问题:vmware虚拟机可以上网,但是和宿主机不能互ping。
    设备类型:vmware主机:kali宿主机:win10软件版本:vmware版本:VMware®Workstation17Provm设置:kali为nat模式问题描述:每次开机打开vm虚拟机kali。用xshell连接,都会连接不上。因为主机和vmkali不通。但是vmkali可以正常上网。检查了所有设置,服务,都正常。且vm相关服务为自启......
  • 手把手教你做阅读理解题-初中中考阅读理解解题技巧007-Mapping out the future
    手把手教你做阅读理解题-初中中考阅读理解解题技巧007-MappingoutthefuturePDF格式公众号回复关键字:ZKYD007阅读理解技巧,在帮助读者有效获取和理解文本信息方面发挥着重要作用,熟练掌握如下6个技巧,可快速突破阅读理解1预览文章结构在开始深入阅读之前,快速浏览文章的标......
  • Scheduling and Traffic Shaping 学习笔记(一)
    Time-AwareShaping  参考:https://inet.omnetpp.org/docs/showcases/tsn/trafficshaping/timeawareshaper/doc/index.html目标:时间感知整形的工作原理是将时间划分为固定的间隔或窗口,并根据帧的优先级在这些窗口内调度帧的传输。通过在单独的窗口中发送优先级较高的帧来......