찾다

 >  Q&A  >  본문

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

请问何解?

高洛峰高洛峰2785일 전902

모든 응답(1)나는 대답할 것이다

  • PHPz

    PHPz2017-04-18 10:29:06

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

    회신하다
    0
  • 취소회신하다