书上说ACK扫描,如果对方端口是开放的,返回的RST报文TTL应该小于等于64,而大于则表示不开放。
但是我在Kail上分别对同一个C段的两台机器进行扫描时发现:
对windows主机的一个开放端口(80)扫描,得到的RST报文的TTL=128,window=32767,对一关闭的端口(11987)扫描,得到的RST报文的TTL=128,window=32767
对Linux主机(Ubuntu 16.04)的一个开放端口(22)扫描,得到的RST报文的TTL=64,window=0,对一关闭端口(12339)扫描,得到的RST报文的TTL=64,window=0
请问何解?
Ce n'est pas qu'un nombre inférieur ou égal à 64 équivaut à un port ouvert. Il envoie des paquets ACK à plusieurs ports d'une machine en même temps si le TTL renvoyé par un certain port est évidemment inférieur à. pour d'autres, cela signifie que ce port est peut-être ouvert.
Quant au cas de 128/64, c'est parce que les valeurs TTL par défaut de *nix et windows sont différentes. De manière générale, on peut considérer que la valeur TTL par défaut de *nix est de 64 et celle de Windows est de 128. (Il y aura des différences selon les différentes versions du système/noyau)