본문으로 바로가기

Port 번호 체계

category Security/Network Security 2017. 10. 19. 20:56

- 포트 번호가 필요한 이유?

IP 주소 : 호스트 또는 물리적인 포트를 구분하기 위한 번호

Port 주소 : 서비스 구분하기 위한 번호


Port번호가 없다면 하나의 서버는 하나의 서비스만 제공가능하다.


- 포트번호란?


MAC 주소(MAC Addr) : 6 bytes  (48 bits)

IP 주소(IP Addr)   : 4 bytes  (32 bits)

Port 주소(Port Num): 2 bytes  (16 bits)


포트번호는 인터넷이나 기타 다른 네트웍 메시지가 서버에 도착하였을 때, 전달되어야할 특정 프로세스를 인식하기 위한 방법이다.

TCP와 UDP에서, 포트번호는 단위 메시지에 추가되는 헤더 내에 넣어지는 16 비트 정수의 형태를 갖는다. 이 포트번호는 논리적으로는 클라이언트와 서버의 전달계층 사이를, 그리고 물리적으로는 전달계층과 인터넷계층 사이를 통과하여, 계속 전달 된다. 


일부 서비스들에 대해서는 인습적으로 영구적인 포트번호들이 할당되어 있다. 이러한 것들을 well-known ports라고 부른다. 그 외의 경우에는, 포트번호는 할당된 포트번호들의 범위 내에서 요청의 시작과 종료 동안에만 일시적으로 부여된다. 


The Well-Known Ports                 0     - 1023

The Registered Ports                 1024  - 49151

The Dynamic and/or Priv ate Ports.   49152 - 65535


포트번호 확인

( linux ) 

# cat /etc/services | more

( 전체 목록 )

 http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml


- 일반적인 서비스 포트 종류 [암기]

프로토콜

포트

프로토콜

포트

FTP data port(active mode)

TCP 20

NetBIOS (TCP rarely used)

TCP/UDP 137

FTP control port

TCP 21

NetBIOS

UDP 138

SSH

TCP 22

NetBIOS

TCP 139

SCP(uses SSH)

TCP 22

IMAP4

TCP 143

SFTP(uses SSH)

TCP 22

LDAP

TCP 389

telnet

TCP 23

HTTPS

TCP 443

SMTP

TCP 25

SMTP SSL/TLS(SMTPs)

TCP 465

TACACS+

TCP 49

IPsec (for VPN with IKE)

UDP 500

DNS name queries

UDP 53

LDAP/SSL(LDAPs)

TCP 636

DNS zone Transfers

TCP 53

LDAP/TLS(LDAPs)

TCP 636

TFTP

UDP 69

IMAP SSL/TLS(IMAPs)

TCP 993

HTTP

TCP 80

POP SSL/TLS(POPs)

TCP 995

Kerberos

UDP 88

L2TP

UDP 1701

POP3

TCP 110

PPTP

TCP 1723

SNMP

UDP 161

Remote Desktop Protocol(RDP)

TCP/UDP 3389

SNMP trap

UDP 162

Microsoft SQL Server

TCP 1433


DB 종류

프로토콜/포트

MySQL

TCP 3306

MS-SQL

TCP 1443

Oracle

TCP 1521

PostgreSQL

TCP 5432

MariaDB

TCP 3306

DB2

TCP 50090


- 실습

-telnet 23

( linux200 )

nmap 툴   /* 사용중인 포트번호 확인 */

[TERM1]

# yum -y install nmap

# nmap 192.168.27.201

 

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2017-10-20 06:13 KST

Interesting ports on win2008 (192.168.27.201):

Not shown: 1676 closed ports

PORT    STATE SERVICE

23/tcp  open  telnet

135/tcp open  msrpc

139/tcp open  netbios-ssn

445/tcp open  microsoft-ds

MAC Address: 00:0C:29:7D:D8:1E (VMware)


Nmap finished: 1 IP address (1 host up) scanned in 1.767 seconds

 


# telnet 192.168.27.201 23

administrator / security1.


[TERM2]

# netstat -antp

 

 Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   

tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      3947/hpiod          

tcp        0      0 0.0.0.0:938                 0.0.0.0:*                   LISTEN      3724/rpc.statd      

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3683/portmap        

tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      4077/vsftpd         

tcp        0      0 0.0.0.0:23                  0.0.0.0:*                   LISTEN      3988/xinetd         

tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3974/cupsd          

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4095/sendmail: acce 

tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      3952/python         

tcp        0      0 192.168.27.200:41360        192.168.27.201:23           ESTABLISHED 5950/telnet         

tcp        0      0 :::22                       :::*                        LISTEN      3965/sshd    

-> 192.168.27.200 에서 41360 포트로 192.168.27.201의 23번 포트로 telnet  접속


[TERM1]

C:\Users\Administrator > exit


- ftp 21

( 전제 조건 ) 

win2008 서버에 FTP 서버가 구축되어 있다고 가정한다. ( 알 ftp )

http://www.altools.co.kr/EstLab/AlftpServer.aspx





- 자신의 아이피 설정

- user01 / user01 

- 읽기만 허용 uncheck

- 포트 21 확인 허용인원 최대 5명 

확인 후 서버 시작



( linux200 )

[TERM1]

# nmap 192.168.27.201

 

 Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2017-10-20 06:22 KST

Interesting ports on win2008 (192.168.27.201):

Not shown: 1675 closed ports

PORT    STATE SERVICE

21/tcp  open  ftp

23/tcp  open  telnet

135/tcp open  msrpc

139/tcp open  netbios-ssn

445/tcp open  microsoft-ds

MAC Address: 00:0C:29:7D:D8:1E (VMware)


Nmap finished: 1 IP address (1 host up) scanned in 2.232 seconds


 

-> ftp open 확인


# frp 192.168.27.201 21

 user01 user01


[TERM2]

# netstat -antp

 

 Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   

tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      3947/hpiod          

tcp        0      0 0.0.0.0:938                 0.0.0.0:*                   LISTEN      3724/rpc.statd      

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3683/portmap        

tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      4077/vsftpd         

tcp        0      0 0.0.0.0:23                  0.0.0.0:*                   LISTEN      3988/xinetd         

tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3974/cupsd          

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4095/sendmail: acce 

tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      3952/python         

tcp        0      0 192.168.27.200:41822        192.168.27.201:21           ESTABLISHED 5983/ftp            

tcp        0      0 :::22                       :::*                        LISTEN      3965/sshd   

-> 192.168.27.200 의 41822 포트로 192.168.27.201의 21번 포트에 ftp 접속


[TERM1]

ftp > quit


[실무 예]

 요청 : FTP 서비스 포트를 열어주세요 

-> Server 에서는 FTP 서비스 데몬을 띄워주면 된다.

-> Router/ Firewall 에서는 FTP 서비스가 통신하도록 포트를 막지 않으면 된다.


( linux Server )

# nmap -p 21 localhost

# netstat -antp | grep :21


# service vsftpd stop

# service vsftpd start


- 자신의 서버에 열린 포트 점검하기


( linux200 )

# cat /etc/services     /* 모든 포트 목록 확인 */ 


# yum -y install nmap

# nmap localhost    /* 자신의 서버에 열린 포트 점검 */


# netstat -an | more    /* 열린 포트 점검 */

# netstat -an | grep '^tcp'    ( # netstat -ant )

# netstat -an | grep '^udp'   ( # netstat -anu )


( win2008 )

<windows + E > = C:\Windows\system32\drivers\etc\services /* 모든 포트 목록 확인 */


nmap 툴 설치

https://nmap.org/download.html


c:\> natstat -a


'Security > Network Security' 카테고리의 다른 글

hping3 명령어 사용하기  (0) 2017.10.21
TCP/UDP 대표적인 서비스 패킷 분석  (0) 2017.10.19
UDP 패킷 분석  (0) 2017.10.19
TCP 패킷 분석  (0) 2017.10.19
MTU ( Maximum Transfer Unit, 최대 전송 단위 )  (0) 2017.10.18