python - 关于ACK标志位的TCP端口扫描的疑惑?
高洛峰
高洛峰 2017-04-18 10:27:06
0
1
893

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

请问何解?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(1)
PHPzhong

不是小于等于64等于开放端口,是同时对一台机器的一堆端口发送ACK包,有某个端口返回的RST中TTL明显小于其他,则说明此端口可能开放。
至于128/64这个情况,是因为*nix和windows默认的TTL值不同。一般可认为*nix的默认TTL值为64,windows为128。(具体到不同系统/内核版本,会有区别)

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage