Nmap으로 Tcp 포트를 스캔하는 방법

네트워크에서 실행 중인 서비스를 정확히 식별하는 중요한 방법은 포트 스캔을 수행하는 것입니다. 포트 스캔을 실행하면 컴퓨터와 네트워크의 공격 표면에 대한 정확한 개요를 얻을 수 있습니다. 경우에 따라 예상하지 못한 서비스가 실행되고 있음을 발견할 수 있습니다.

TCP(Transmission Control Protocol)는 네트워크를 통해 컴퓨터 간의 연결을 허용하는 표준입니다. TCP는 3방향 핸드셰이크를 사용하여 연결을 연 다음 시간 초과되거나 연결이 닫힐 때까지 열린 상태를 유지합니다. 이것은 연결이 항상 데이터를 전송한다는 의미가 아니라, 양 당사자가 연결 세부 정보를 저장하고 즉시 데이터 송수신을 재개할 수 있음을 의미합니다.

Nmap은 포트 스캔을 수행하기 위한 표준 도구입니다. 주로 Linux에서 실행되도록 설계되었지만 Windows 버전도 있습니다. 그래픽 인터페이스도 사용할 수 있지만 명령줄 사용은 여전히 ​​표준입니다.

엔맵 사용법

Linux 시스템에 Nmap이 설치되어 있는지 테스트하려면 "nmap" 명령을 실행합니다. 도움말 페이지가 표시되면 설치되고 실행할 준비가 된 것입니다. 명령이 "찾을 수 없음"이라는 오류가 발생하면 Nmap을 설치해야 합니다.

도움말 페이지는 매우 밀집되어 있으며 혼란스러울 수 있는 많은 옵션을 보여줍니다. TCP 포트를 스캔하는 데 필요한 기본 사항은 비교적 간단합니다. 필요한 기본 구조는 "nmap [스캔 유형] [옵션] {대상 사양}"입니다.

TCP 포트를 스캔하려면 TCP 또는 SYN의 두 가지 스캔 유형 중 하나를 사용하고 싶을 것입니다. TCP 스캔은 각 포트에 대한 전체 연결을 시도하여 3방향 핸드셰이크를 완료합니다. SYN 스캔은 프로토콜을 약간 남용하고 3방향 핸드셰이크의 세 번째 메시지를 보내지 않습니다. 장치가 한 번에 많은 연결을 열어 둘 필요가 없기 때문에 SYN 스캔은 종종 시스템 리소스에 대한 스트레스가 적습니다. 연결이 완전히 설정되지 않기 때문에 TCP 스캔보다 빠르게 실행되지만 루트가 필요합니다. 권한. TCP 스캔은 "-sT" 플래그로 지정되고 SYN 스캔은 "-sS"로 지정됩니다.

팁: 3방향 핸드셰이크는 TCP 연결이 초기화되는 방식이며 세 가지 메시지가 포함됩니다. 클라이언트에서 서버로, 서버에서 클라이언트로, 클라이언트에서 서버로 "SYN, SYN-ACK 및 ACK" 전송 각기.

스캔 옵션을 지정하는 방법

옵션 섹션은 완전히 선택 사항이지만 일반적으로 유용할 수 있는 숫자가 있습니다. "-v"로 상세도를 높이면 더 자세한 스캔 결과를 활성화할 수 있고, "-vvv"로 세 번째 수준까지 상세도를 높일 수 있습니다. "-A" 플래그를 사용하여 운영 체제 감지, 버전 감지, 스크립트 스캔 및 추적 경로를 실행할 수 있지만 실행하는 데 시간이 꽤 오래 걸립니다.

IPv4 또는 IPv6 주소를 한 번에 스캔할 수 있습니다. IPv4가 기본값입니다. IPv6 주소를 스캔하려면 "-6" 플래그를 사용해야 합니다. 때때로 Nmap은 핫이 무엇인지 확인하기 위해 빠른 핑 스캔을 실행합니다. 이것이 테스트하려는 호스트를 건너뛰는 경우 "-Pn" 플래그로 비활성화할 수 있습니다. 큰 범위를 지정하면 스캔하는 데 시간이 오래 걸릴 수 있습니다. "-T4" 플래그는 스캔을 더 빠르게 실행하고 아무 것도 놓치지 않을 것입니다. 트래픽 출력이 크게 증가하므로 느린 네트워크 또는 장치를 압도할 수 있습니다.

IP 주소 및 포트 범위를 지정하는 방법

기본적으로 Nmap은 가장 일반적으로 사용되는 상위 1000개 포트를 스캔합니다. "-p" 플래그를 사용하고 공백 없이 범위를 지정하여 수동으로 포트 범위를 설정할 수 있습니다. 포트 범위는 쉼표로 구분된 값, 하이픈으로 연결된 범위 또는 이 둘의 조합을 통해 지정할 수 있습니다. 예를 들어 "-p22", "-p1-65535" 및 "-p21-25,80,139,8080" 플래그는 포트 22, 1에서 65535 사이의 모든 포트, 포트 21에서 25, 80, 239, 및 각각 8080. 또한 "-top-ports [숫자]" 플래그를 지정하여 가장 일반적인 상위 [숫자] 포트를 스캔할 수도 있습니다. 모든 포트를 지정하려면 약어 "-p-"를 사용할 수 있습니다.

팁: 포트 번호 범위는 0에서 65535 사이이지만 0은 기술적으로 사용할 수 없습니다.

마지막으로 지정해야 하는 것은 테스트하려는 장치의 IP 주소입니다. 그렇게 하려면 스캔하려는 모든 IP 주소를 나열하기만 하면 됩니다. 공백으로 구분해야 하며 개별적으로, 하이픈으로 연결된 범위 또는 CIDR 표기법을 통해 나열할 수 있습니다. 예를 들어 "191.168.0.1"은 해당 단일 IP 주소를 검색하고 "192.168.0.1-5"는 다음 사이의 5개 IP 주소를 검색합니다. 102.168.0.1 및 192.168.0.5, 마지막으로 "192.168.0.1/24"는 192.168.0.1과 192.168.0.1 사이의 모든 IP 주소를 검색합니다. 192.168.0.255.

전체 명령은 "nmap -sS -vvv -A -p- 127.0.0.1", "nmap -sS -v -p80,443,8080 192.168.0.1/24", "nmap -sS –상단 포트 10000 -6 ::1”

사용하려는 인수를 조합한 다음 명령을 실행하십시오.