열린/닫힌 상태에 관계없이 nmap을 사용하여 스캔할 때마다 포트가 열려 있는 것처럼 보이도록 하려면 어떻게 해야 합니까?

열린/닫힌 상태에 관계없이 nmap을 사용하여 스캔할 때마다 포트가 열려 있는 것처럼 보이도록 하려면 어떻게 해야 합니까?

열린 포트가 외부 스캔에 의해 감지되는 것을 방지하려면 nmap포트가 닫힌 것처럼 보이도록 하는 것보다 다른 모든 스캔 포트를 열린 것처럼 보이도록 하는 것이 더 쉬워 보입니다.

nmap모든 외부 스캔 포트가 열려 있는지 확인하려면 시스템을 어떻게 구성해야 합니까 ?

예를 들어, 1000개의 포트를 스캔할 때 외부 스캐너는 실제로 열려 있는 포트에 관계없이 1000개의 포트를 모두 열린 것으로 처리합니다.

답변1

이렇게 하려면 실제로 들어오는 데이터를 처리하는 작업(반향하거나 삭제하는 등)에 관계없이 이러한 포트를 수신하는 프로그램이 필요합니다.

지정한 모든 포트에서 수신 대기하는 매우 간단한 "서버"로 netcat을 사용할 수 있지만 각 포트에는 netcat 인스턴스가 필요합니다. 이는 2^16개의 가능한 포트를 모두 포괄하려는 경우 매우 비쌀 수 있습니다.

netcat -lp <port> </dev/null >/dev/null 2>&1

그러면 지정된 트래픽을 수신하는 netcat이 시작되어 <port>들어오는 모든 트래픽이 삭제되지만 연결 자체는 종료되지 않습니다. -z모든 연결을 즉시 종료하려면 명령에 플래그를 추가하세요 . 더 많은 옵션을 보거나 알아 netcat --help보세요 info netcat.

가능한 대안은 커버하려는 모든 포트를 반복하고, 그 포트에서 청취 소켓을 열고, 연결이 들어오면 원하는 대로 수행하는 간단한 C 프로그램입니다. 왜냐하면 저는 소켓에 익숙하지 않기 때문입니다. 지금은 프로그래밍을 하기 때문에 더 구체적인 예나 소스 코드를 알려드릴 수 없습니다. 이 솔루션에 관심이 있다면 사용할 수 있는 몇 가지 예가 이미 제공되어 있는 섹션 2 socket, bindlisten의 매뉴얼 페이지를 살펴보십시오.accept

관련 정보