리눅스 일반

[리눅스] nmap으로 열린 port 조회 하기.

트리스탄1234 2024. 4. 12. 06:09
728x90
반응형

 
안녕하세요 이웃님들 ^.^
좋은 아침 입니다.
 
시스템 운영자나 개발자 분들은 서비스를 위해 열려야 하는 Port가 열렸는지 열리지 않았는지를 테스트를 해야 하는 경우가 적지 않을 겁니다.
 
그럴때 유용한 툴리 nmap이라는 툴이 있구요. 오늘은 이 툴의 사용 방법에 대해서 공유해 보려고 합니다.
네트워크 스캔(Netscan)은 네트워크에 연결된 호스트들의 상태를 파악하고 열린 포트를 조사하는 데 사용되는데요.

Nmap을 사용하여 목적지 서버의 열린 포트를 조사하는 방법은 아래와 같습니다.
먼저 설치를 해야겠죠? ^.^
 
설치는 Ubuntu 서버 기준으로 설명을 드리겠습니다. 
window의 경우는 아래의 사이트에서 바이너리를 다운로드 하여 설치 할수 있습니다.
https://nmap.org/download.html
 
우분투는 아래의 명령을 실행해서 설치를 하시면 됩니다.
 
업데이트를 위해 아래 명령을 실행 합니다.
sudo apt update

ubuntu@DESKTOP-H5OIPJC:~$ sudo apt-get update
Get:1 https://download.docker.com/linux/ubuntu focal InRelease [57.7 kB]
Get:2 https://apt.releases.hashicorp.com focal InRelease [16.4 kB]
Hit:3 https://deb.nodesource.com/node_16.x focal InRelease
Get:4 https://apt.releases.hashicorp.com focal/main amd64 Packages [126 kB]
Hit:6 http://archive.ubuntu.com/ubuntu focal InRelease
Get:7 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Hit:5 https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.29/deb  InRelease
Get:9 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [2853 kB]
Hit:10 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [3230 kB]
Get:12 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [431 kB]
Get:13 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [2730 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [513 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [2849 kB]
Get:16 http://archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [397 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1177 kB]
Get:18 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [382 kB]
Get:19 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [952 kB]
Get:20 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [200 kB]
Get:21 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [23.9 kB]

 
아래 명령을 사용해서 nmap을 설치를 합니다.
sudo apt install nmap

ubuntu@DESKTOP-H5OIPJC:~$ sudo apt-get install nmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap-common
Suggested packages:
  liblinear-tools liblinear-dev ncat ndiff zenmap
The following NEW packages will be installed:
  libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap nmap-common
0 upgraded, 6 newly installed, 0 to remove and 29 not upgraded.
Need to get 5673 kB of archives.
After this operation, 26.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libblas3 amd64 3.9.0-1build1 [142 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal/universe amd64 liblinear4 amd64 2.3.0+dfsg-3build1 [41.7 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 liblua5.3-0 amd64 5.3.3-1.1ubuntu2 [116 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal/universe amd64 lua-lpeg amd64 1.0.2-1 [31.4 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 nmap-common all 7.80+dfsg1-2ubuntu0.1 [3676 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 nmap amd64 7.80+dfsg1-2ubuntu0.1 [1666 kB]
Fetched 5673 kB in 4s (1620 kB/s)
Selecting previously unselected package libblas3:amd64.
(Reading database ... 54222 files and directories currently installed.)
Preparing to unpack .../0-libblas3_3.9.0-1build1_amd64.deb ...



설치가 완료가 되었으면 아래의 명령을 사용해서 설치가 되었는지 확인 해봅니다.
nmap --version

ubuntu@DESKTOP-H5OIPJC:~$ nmap -version
Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.1f nmap-libssh2-1.8.2 libz-1.2.11 libpcre-8.39 libpcap-1.9.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

 
 
설치가 완료 되었으면 사용을 해야겠죠... 그럼 사용하는 방법은 아래와 같은 형식으로 사용을 합니다.
nmap [옵션] [목적지 주소]
 
그럼 사용 가능한 옵션을 한번 알아 볼까요?
 -p: 특정 포트나 포트 범위를 지정합니다. 예를 들어 -p 80은 80번 포트를 스캔하고, -p 1-100은 1부터 100까지의 포트를 
      스캔합니다.
 -F: 빠른 스캔 모드로, 가장 일반적인 포트만을 스캔합니다.
 -A: 운영 체제 및 서비스 버전을 식별하는 더 많은 정보를 제공합니다.
- sS: SYN 스캔을 사용하여 포트를 확인합니다. 이는 기본적으로 사용되는 스캔 방법 중 하나입니다.
 
그럼 사용 예를 한번 살펴 볼까요?
example) nmap -p 1-100 192.168.1.1
이 명령은 192.168.1.1 주소의 호스트에 대해 1부터 100까지의 포트를 스캔합니다.
결과물을 살펴 보면 80 port만 열려 있군요 ^.^

ubuntu@DESKTOP-H5OIPJC:~$ nmap -p 1-100 223.130.192.248
Starting Nmap 7.80 ( https://nmap.org ) at 2024-04-10 11:51 KST
Nmap scan report for 223.130.192.248
Host is up (0.020s latency).
Not shown: 99 filtered ports
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 2.80 seconds
반응형


그럼 TCP와 UDP Port를 구분해서 테스트할 수 있을가요? 당근 가능합니다.
TCP Port 스캔 방법은 아래와 같습니다.


Nmap을 사용하여 TCP 및 UDP 포트를 구분하여 테스트하려면 다음과 같이 명령어를 사용합니다:
nmap -sS [대상]
 
이 명령은 SYN 스캔을 사용하여 대상 시스템의 TCP 포트를 스캔합니다. 열린 TCP 포트와 해당 포트에서 실행되는 서비스에 대해 출력을 해줍니다. 로컬 컴퓨터를 이용해서 시험 결과를 보면 아래와 같습니다. 모든 Port가 막혀 있죠^.6

ubuntu@DESKTOP-H5OIPJC:~$ sudo nmap -sS 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2024-04-10 11:53 KST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
All 1000 scanned ports on localhost (127.0.0.1) are closed

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

예를 하나 더들어 보면  대상 서버의 IP 주소가 192.168.1.100이라고 가정하고, TCP 포트 80과 UDP 포트 53을 스캔을 한다면 아래와 같이 명령을 실행을 하면 됩니다. 
nmap -sS -p 80 192.168.1.100
 
그럼 UDP 포트 테스트 방법은 아래와 같습니다.
nmap -sU [대상]

이 명령은 UDP 스캔을 사용하여 대상 시스템의 UDP 포트를 스캔합니다. 그럼 결과를 보면 아래와 같습니다. 

ubuntu@DESKTOP-H5OIPJC:~$ sudo nmap -sU 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2024-04-10 12:01 KST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000030s latency).
All 1000 scanned ports on localhost (127.0.0.1) are closed

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

 

728x90


다른 예를 하나 더 들어보면
nmap -sU -p 53 192.168.1.100
이 명령은 192.168.1.100 주소의 서버에서 UDP 포트 53을 스캔합니다. -sU는 UDP 스캔을 나타내며, -p 53은 포트 53을 목표로 지정합니다.

그럼 오늘도 행복한 하루 되세요. ^.^
 

728x90
반응형

'리눅스 일반' 카테고리의 다른 글

[성능 툴] FPING 사용 방법  (138) 2024.05.01
[툴] TCPING 사용 하기  (64) 2024.04.24
[리눅스] Iperf3 사용 방법  (66) 2024.04.07
[리눅스] fatrace 사용방법  (73) 2024.04.05
[리눅스] lsof 사용 방법  (87) 2024.03.30