您的位置:首頁技術文章
文章詳情頁

python - 關于ACK標志位的TCP端口掃描的疑惑?

瀏覽:130日期:2022-08-25 15:10:23

問題描述

書上說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

請問何解?

問題解答

回答1:

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

標簽: Python 編程
相關文章:
国产综合久久一区二区三区