실제로 TCP 포트 통신을 필터링하는 내용을 볼 수있는 방법이 있습니까?


10
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

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

답변:


11

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

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

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

이는 특별한 TCP 패킷을 사용하여 대상과 대상 사이의 호스트를 결정하는 경로 추적 유틸리티를 사용하여 달성 할 수 있습니다. 귀하의 경우 명령은 다음과 같습니다.

traceroute 10.1.1.1

사용자와 대상 사이의 시스템을 알게되면 각각의 구성을 조사하여 필터링 여부와 방법을 확인하십시오.


이 두 시스템에는 활성 소프트웨어 방화벽이 없으며 nmap -p 7000-7020 localhost열린 포트를 표시하며 전용 방화벽이 열린 것으로보고됩니다.
에두아르 Florinescu

4
당신이 가지고있는 증거는 무언가가 필터링되고 있다는 것을 우리는 당신이 당신의 구성을 모르는 것이 무엇인지 알 수 없습니다. 호스트 기반 방화벽은 종종 루프백 (localhost) 인터페이스의 모든 트래픽을 허용하므로 오해의 소지가있는 테스트 일 수 있습니다.
user9517

iptables "-j DROP"와 함께 Linux를 사용할 가능성이 있습니까? 필터링 된 nmap 문서는 실제로 모든 프로토콜에서 손실 된 패킷입니다.
risyasin

이 소프트웨어는 실제로 외부 IP에 바인딩되어 있습니까? 대신 127.0.0.1에 바인딩 된 경우이 문제가 발생할 수 있습니다. NETSTAT 확인
devicenull

12

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 출력을 사용해야합니다.

추가 편집 : Nmap 6.49BETA1-v --reason또는 로 텍스트 출력으로 응답 패킷에 대한 TTL을 표시 한 첫 번째 릴리스 -vv이며 2015 년 6 월에 릴리스되었습니다.


1
매우 유용한 옵션 +1
Eduard Florinescu

예, --script=firewalk내가 찾으려고했던 것입니다. 감사.
ulidtko

5

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

더 긴 답변 :

보낸 사람 : https://nmap.org/book/man-port-scanning-basics.html

"필터링 된 Nmap은 패킷 필터링으로 인해 프로브가 포트에 도달하지 못하므로 포트가 열려 있는지 확인할 수 없습니다. 필터링은 전용 방화벽 장치, 라우터 규칙 또는 호스트 기반 방화벽 소프트웨어에 의한 것일 수 있습니다. 때때로 유형 3 코드 13 (대상에 도달 할 수 없음 : 통신 관리가 금지됨)과 같은 ICMP 오류 메시지로 응답하지만 응답없이 프로브를 삭제하는 필터가 훨씬 더 일반적입니다. 필터링이 아닌 네트워크 정체로 인해 삭제되었습니다. 이렇게하면 검색 속도가 크게 느려집니다. "

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

방화벽이 대상 시스템에 있는지 확인하기 위해 대상 호스트와 동일한 서브넷에있는 경우.


2

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

업데이트 : tcptraceroute를 의미했으며 별칭이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.