nmap은 닫힌 포트와 필터링 된 포트를 어떻게 구분합니까?


10

TCP 연결 스캔을 수행한다고 가정 해 봅시다.

Google의 nmap 스캔은 다음 출력을 반환합니다.

항만국 서비스

80 / tcp 공개 http

443 / tcp 공개 https

그러나 포트 12의 google.com에서 netcat 또는 telnet으로 소켓을 열려고하면 netcat 또는 telnet이 무기한 중단됩니다.

Nmap은 포트 12 (및 80 또는 443 이외의 다른 포트)가 닫힌 것으로 감지하지만 TCP 연결을 시작해도 즉시 닫히지는 않습니다.

nmap은 이러한 포트가 필터링되지 않고 닫혀 있음을 어떻게 알 수 있습니까?


기본적으로 (그 알고리즘에 더 많은 것이 있지만) nmap에서 얻을 수있는 출력은 닫힌 포트이거나 필터 된 포트가 아닌 열린 포트입니다. nmap -p 12 www.google.com은 일반적으로 필터링 된 것으로 표시해야합니다.
nos

답변:


14

nmap 스캔을 사용하면 일반적으로 3 가지 상태가됩니다.

  • 공개-SYN에 대한 SYN / ACK로 원격 컴퓨터가 응답 함
  • 닫힘-원격 컴퓨터가 RST 패킷으로의 연결 시도를 거부했습니다.
  • 필터링 됨-아무 것도 반환되지 않고 시간 초과가 발생했습니다.

netcat을 포트 80으로 열고 대기해도 아무런 효과가 없습니다. 포트 80 (일반적으로)은 http 서버가 다른 쪽에서 수신 대기 중이고 HTTP 명령을 기다리는 중임을 의미합니다 (자체 시간 초과가있을 때까지). 포트 80에 넷 캐스팅 한 후 GET /응답을 얻었는지 (아마 http 오류) sedinng a 를 시도 하십시오.


8

닫힌 포트는 소프트웨어를 수신하지 않는 포트이므로 해당 시스템에서 해당 포트에 연결을 시도하면 시스템이 TCP RST 패킷을 다시 보내 게됩니다.

반면에 필터링 된 포트는 일반적으로 네트워크 경로의 방화벽에 의해 차단되는 포트이므로 해당 시스템에서 해당 포트에 연결을 시도하면 아무것도 다시 나타나지 않습니다. TCP RST ... 그래서 TCP는 연결 시도 시간을 초과 할 때까지 연결 시도를합니다.


이것은 사실이지만 내 질문에 대답하지 않습니다. 포트 42의 google.com에서 netcat을 열면 RST 패킷이 수신되지 않지만 nmap은이 포트가 닫힌 것으로 표시합니다.
Intrepidd

포트 42를 포함한 google.com으로의 nmap은 닫히지 않고 필터링 된 상태로 반환합니다.
Jeff McAdams

내 나쁜, 나는 표시되지 않은 모든 포트가 닫혀 있다고 생각했지만 전역 결과에 달려 있습니다.
Intrepidd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.