실제로 TCP 포트 통신을 필터링하는 것이 무엇인지 확인할 수 있는 방법이 있습니까?

실제로 TCP 포트 통신을 필터링하는 것이 무엇인지 확인할 수 있는 방법이 있습니까?
nmap -p 7000-7020 10.1.1.1

필터링된 모든 포트를 출력합니다.

Starting Nmap 6.40 ( http://nmap.org ) at 2015-03-04 12:18 EET
Nmap scan report for 10.1.1.1
Host is up (0.00091s latency).
PORT     STATE    SERVICE
7000/tcp filtered afs3-fileserver
7001/tcp filtered afs3-callback
7002/tcp filtered afs3-prserver
7003/tcp filtered afs3-vlserver
7004/tcp filtered afs3-kaserver
7005/tcp filtered afs3-volser
7006/tcp filtered afs3-errors
7007/tcp filtered afs3-bos
7008/tcp filtered afs3-update
7009/tcp filtered afs3-rmtsys
7010/tcp filtered ups-onlinet
7011/tcp filtered unknown
7012/tcp filtered unknown
7013/tcp filtered unknown
7014/tcp filtered unknown
7015/tcp filtered unknown
7016/tcp filtered unknown
7017/tcp filtered unknown
7018/tcp filtered unknown
7019/tcp filtered unknown
7020/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 2.78 seconds

해당 포트를 정확히 필터링하는 것이 무엇인지 확인할 수 있는 방법이 있습니까?

답변1

이것은 nmap 문서가 filtered상태 에 대해 말하는 것입니다.

거르는 패킷 필터링으로 인해 프로브가 포트에 도달하지 못하기 때문에 Nmap은 포트가 열려 있는지 확인할 수 없습니다. 필터링은 전용 방화벽 장치, 라우터 규칙 또는 호스트 기반 방화벽 소프트웨어에서 이루어질 수 있습니다.

필터링을 수행하는 것이 무엇인지 알아내는 유일한 방법은 사용자와 원격 대상 사이에 어떤 '기계'가 있는지 아는 것입니다.

이는 특수 TCP 패킷을 사용하여 사용자와 대상 사이의 호스트를 확인하려고 시도하는 경로 추적 유틸리티를 사용하여 달성할 수 있습니다. 귀하의 경우 명령은 다음과 같습니다.

traceroute 10.1.1.1

귀하와 대상 사이의 시스템을 파악한 후에는 각각의 구성을 조사하여 필터링 중인지, 필터링 중이라면 어떻게 하는지 알아봅니다.

답변2

Nmap은 필터링의 원인에 대한 자세한 정보를 얻을 수 있는 여러 가지 방법을 제공합니다.

  • --reason옵션은 "필터링된" 포트 상태를 유발한 응답 유형을 표시합니다. 이는 "응답 없음" 또는 "관리자 금지" 또는 기타 것일 수 있습니다.
  • 응답 패킷의 TTL은 XML 출력에 포트 요소 reason_ttl의 속성 으로 보고됩니다. state필터링된 포트의 TTL이 열린 포트의 TTL과 다른 경우(일반적으로 그보다 큰 경우) TTL 간의 차이는 대상과 필터링 장치 사이의 네트워크 거리입니다. ICMP와 TCP 패킷에 서로 다른 초기 TTL을 사용하는 대상이나 TTL 정보를 위조하거나 덮어쓰는 필터링 장치와 같은 예외가 있습니다.
  • --traceroute기능은 경로에 따른 홉에 대한 정보를 표시하며, 이 중 일부는 트래픽을 필터링할 수 있습니다. 어떤 경우에는 홉 중 하나의 역방향 DNS 이름이 "firewall1.example.com"과 같을 수도 있습니다.
  • 그만큼firewalkNSE 스크립트는 패킷이 차단되는 위치를 찾기 위해 경로를 따라 다른 홉에서 시간 초과되는 초기 TTL이 포함된 패킷을 보냅니다. 이는 이전 두 가지 기술을 결합한 것과 비슷하며 일반적으로 매우 잘 작동합니다.

현재 출시되지 않은 Nmap 개발 버전은 -v --reason옵션과 함께 일반 텍스트 출력의 응답 패킷에 대한 TTL도 보고합니다. 하지만 지금은 이 정보를 얻으려면 XML 출력을 사용해야 합니다.

추가하도록 편집됨:엔맵 6.49BETA1-v --reason또는 을 사용하여 텍스트 출력에서 ​​응답 패킷에 대한 TTL을 표시하는 첫 번째 릴리스였으며 -vv2015년 6월에 릴리스되었습니다.

답변3

짧은 대답 - 아니요, 볼 수 있는 방법이 없습니다.

더 긴 답변:

에서:https://nmap.org/book/man-port-scanning-basics.html

"필터링된 Nmap은 패킷 필터링으로 인해 프로브가 포트에 도달하는 것을 방지하기 때문에 포트가 열려 있는지 확인할 수 없습니다. 필터링은 전용 방화벽 장치, 라우터 규칙 또는 호스트 기반 방화벽 소프트웨어에서 이루어질 수 있습니다. 이러한 포트는 제공하는 정보가 너무 적기 때문에 공격자를 좌절시킵니다. 때때로 그들은 유형 3 코드 13(대상에 도달할 수 없음: 통신 관리상 금지됨)과 같은 ICMP 오류 메시지로 응답하지만, 응답하지 않고 단순히 프로브를 삭제하는 필터가 훨씬 더 일반적입니다. 이로 인해 프로브가 실패한 경우에 Nmap이 여러 번 재시도하게 됩니다. 필터링보다는 네트워크 정체로 인해 삭제되었습니다. 이로 인해 검색 속도가 크게 느려집니다."

Traceroute와 같은 도구를 사용하여 네트워크 토폴로지를 검색해 볼 수 있습니다.대개포트는 호스트 자체(예: IP 테이블), 대상 네트워크 에지 라우터, 대상 네트워크 코어 라우터 또는 랙 상단 L3 스위치에서 필터링됩니다.

대상 호스트와 동일한 서브넷에 있다면 방화벽이 대상 시스템에 거의 확실하게 있습니다.

답변4

tcptrace의 결과를 필터링된 포트 중 하나와 tcptrace의 결과를 열린 포트(또는 표준 추적 경로)와 비교해 보십시오. tcptraces가 동일하면 대상 시스템에 포트를 필터링하는 무언가가 있다는 의미입니다.

업데이트: tcptraceroute를 의미하며 별칭을 지정했습니다.

관련 정보