방화벽을 스캔하여 열린 포트를 찾으려면 어떻게합니까?


9

방화벽이있는 네트워크 내에서 방화벽을 스캔하여 열려있는 나가는 포트를 찾을 수있는 도구를 찾고 있습니다.

나는 약간의 연구를하고 Firewalk를 발견 했지만 10 년 동안 유지되지 않았으며 그것을 시도했을 때 나에게 효과가없는 것 같습니다.

인터넷 검색을하고 nmap 으로이 작업을 수행 할 수 있다고 말하는 일부 사이트를 찾았지만이 작업을 수행 할 수 없었습니다.

방화벽 밖에서 모든 포트에서 수신 대기하고 포트 내부에서 포트 스캔을 시도하는 것보다 더 나은 방법을 아는 사람이 있습니까?

답변:


4

서브넷 3 개와 그 중 하나에 서버가 있지만 다른 규칙 2 개에 어떤 규칙이 열려 있는지 알고 싶다고 가정 해보십시오. 서버에서 다른 두 개에 대해 nmap 스캔을 실행합니다. 나는 일반적 으로이 줄을 사용합니다 :

nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -P0 -sS -F -n --host_timeout 240000 --max_rtt_timeout 300 --initial_rtt_timeout 2000 --max_parallelism 250 192.168.123.0/24 192.168.234.0/24

nmap은 필터링 된 포트를 식별하므로 유사한 개념의 라우팅을 인터넷에도 적용 할 수 있습니다.


이것에 감사합니다; 다음 nmap 구문이 몇 초 동안 업데이트되었으며 P0은 더 이상 사용되지 않습니다. 업데이트 된 명령 : nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -Pn -sS -F -n --host_timeout 240 --max_rtt_timeout 3 --initial_rtt_timeout 2 --max_parallelism 250 <IPADDRESS>
jhaagsma

3

여기 내가 한 일이 있습니다.

테스트중인 네트워크에 한 대의 컴퓨터를 설정하고 다른 한 대의 인터넷 (방화벽의 다른 쪽)에 컴퓨터를 설치하십시오. Windows 나 Linux를 사용하면 괜찮을 것입니다 (CentOS를 사용했습니다). 공개 IP가 있었지만 1 : 1 NAT와 함께 작동한다고 생각합니다.

인터넷 컴퓨터에서 컴퓨터의 모든 포트를 nc로 여는 명령을 실행했습니다. 내가 했어

for i in `seq 1 65000`; do nc -l $i &; sleep 1; done

수면은 한 번에 과도한 수의 netcat 프로세스가 생성되는 것을 방지하기 위해 존재합니다. 괜찮 았지만 65000 초 (밤새)가 걸렸습니다.

테스트를 거친 네트워크에서 간단히 실행

nmap -p- -PN <IP>

결과를 기다립니다.


serverfault에 오신 것을 환영합니다! 다른 답변의 스타일에보다 근접하도록 답변을 편집했습니다. 마크 다운을 보려면 직접 수정을 클릭하세요.
중괄호

1

Firebind.com이이 서비스를 제공합니다.

임의 범위의 UDP 또는 TCP 포트를 통해 아웃 바운드 연결을 테스트 할 수 있습니다. 100 개 이상의 포트를 테스트하려면 무료 계정이 필요합니다.


5
그들을 위해 일하십니까?
jscott

0

해당 포트에서 응답 할 내용이 필요하기 때문에 방화벽 양쪽에 시스템을 설치하는 것이 가장 좋습니다. 대상 시스템이 없으면 포트는 방화벽 자체에서 열릴 수 있지만 해당 포트의 트래픽에 응답하지 않기 때문에 알지 못할 것입니다. 방화벽으로 닫은 포트와 단순히 패킷을 삭제하는 포트 또는 열린 포트 사이의 차이를 알 수 없지만 다른 쪽 끝에서는 응답 할 수없는 상황입니다.


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