IP层,以此从1依次增加TTL的值,等TTL减为0时还没有达到目标IP,这最后的路由器会返回一下详细,上层协议不同,返回的信息格式会不同,但都包含这个路由器的IP地址,由此可以获得路由状况。
IP层的上层可以使用ICMP,UDP,TCP三种方式:
<1>icmp
ping工具使用的是该协议。方法很简单。ICMP报文易被防火墙屏蔽掉。
<2>udp
在报文中要指定目标端口,如果此时目标主机上的目标端口并没有与某个UDP套接字绑定,那么目标主机就会向源主机发送一个ICMP端口不可达报文,但是,如果此时目标主机上的目标端口已经和某个UDP套接字绑定,那么该UDP报文会被发给相关套接字,系统将不会产生ICMP端口不可达报文(此处利用的ICMP协议,也可能被屏蔽)。因此在采用这种协议时,必须注意目标端口的选择。
<3>tcp
原理和udp相似,也要指定目标端口,并将其中SYN标志置1,作为第一次握手。如果此时目标主机上的目标端口正处在监听状态,那么目标主机会向源主机回应一个TCP报文,其中SYN和ACK标志位置1,确认号为上一次握手的序列号加1,但是如果此时目标主机上的目标端口不处在监听状态,那么目标主机也会向源主机回应一个TCP报文,不过将其中RST和ACK标志位置1,表示复位,不过确认号为上一次握手的序列号加上收到的字节数再加上1,这里收到的字节数指的是TCP报文中的数据部分字节数。
网友评论