首頁  >  問答  >  主體

python - 关于ACK标志位的TCP端口扫描的疑惑?

书上说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

请问何解?

高洛峰高洛峰2741 天前856

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-18 10:29:06

    不是小於等於64等於開放端口,是同時對一台機器的一堆端口發送ACK包,有某個端口返回的RST中TTL明顯小於其他,則表示此端口可能開放。
    至於128/64這個情況,是因為*nix和windows預設的TTL值不同。一般可認為*nix的預設TTL值為64,windows為128。 (具體到不同系統/核心版本,會有差別)

    回覆
    0
  • 取消回覆