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

书上说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教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
PHPzhong

64보다 작거나 같다는 것은 특정 포트에서 반환된 RST의 TTL이 다음보다 훨씬 작은 경우 머신의 여러 포트에 동시에 ACK 패킷을 보내는 것과 같습니다. 다른 경우에는 이 포트가 열려 있을 수 있음을 의미합니다.
128/64의 경우는 *nix와 windows의 기본 TTL 값이 다르기 때문입니다. 일반적으로 *nix의 기본 TTL 값은 64이고 Windows의 기본 TTL 값은 128이라고 생각하면 됩니다. (시스템/커널 버전에 따라 차이가 있을 수 있습니다)

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿