路由追踪——traceroute与tracert

一、路由追踪  
(一)路由跟踪,就是获取从主机A到达目标主机B这个过程中所有需要经过的路由设备的转发接口IP。
(二)ICMP协议
  Internet控制报文协议(internet control message protocol),它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
  日常生活中,邮寄包裹会经过多个传递环节,任意一环如果无法传下去,都会返回寄件人,并附上无法邮寄的原因。同理,当路由器收到一个无法传递下去的IP报文时,会发送ICMP目的不可达报文(Type为3)给IP报文的源发送方。报文中的Code就表示发送失败的原因。
(三)TCP协议的三次握手
A. TCP建立连接的三次握手机制
在这里插入图片描述  
  
(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server。
(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求。
(3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,完成三次握手,随后Client与Server之间可以开始传输数据了。
B.TCP的相关报文解释
在这里插入图片描述
  上图中我们重点来介绍一下Flags(标志位-8位):
    ACK:确认序号有效;
    PSH:接收方应该尽快将这个报文交给应用层
    RST:重置连接
    SYN:发起一个新连接
    FIN: 释放一个连接

(四)各协议探测原理 
  1. 基于TCP协议:
    端口存在:返回第二次握手包。
    否则:
      Unix/Linux:返回RST包,重置连接。
      Windows: 无响应……
  2.基于UDP协议:
    端口存在:直接丢给对应进程,无返回。
    端口不存在:返回端口不可达的ICMP报文。
    (因此UDP探测时,一般选择没人用的大端口)。
  3.基于ICMP协议:
    返回回显应答报文。

二、traceroute
(一)traceroute原理介绍
在这里插入图片描述

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值