원본 출처 : http://bestheroz.blog.me/96293248

   

nmap으로 스캔하는 방법

"nmap -p 1-65535 localhost" 또는 "nmap -p 1-65535 공인IP" 실행하면 현재 자신의 시스템에 어떤 포트가 있는지 모든 포트에 대해 확인 가능하다. 만약 아무런 옵션을 주지 않고 "nmap localhost" 실행하면 사전에 정의된 Well Known 포트에 대해서만 스캔을 한다는 것을 주의하자. 또한 "nmap -p 21,23,53,80 192.168.1.0/24" 같이 스캔할 경우에는 192.168.1.0 대역( 192.168.1.1 부터 192.168.1.255까지 모든 호스트) 대해 21,23,53,80번등의 특정 포트가 열려있는지에 대해서만 스캔을 하게 된다.

   

   

netstat -l 확인해 보는 방법

% netstat -lnp

netstat에서는 많은 옵션을 제공하고 있는데, 현재 시스템 상에서 특정 포트를 점유하여 소켓 데몬 형태로 대기중인 서비스에 대한 사항은 listen 의미인 -l 옵션을 주면된다. 더불어서 -p 옵션을 주면 해당 포트를 사용 중인 program 이름도 확인할 있다.

위의 경우를 보면 좌측에 현재 리슨하고 있는 포트를 있으며 우측에 있는 정보를 보면 해당 포트가 어떤 PID(Process ID)이며 어떤 프로그램인지 확인할 있다. 만약 포트631/tcp 리슨하고 있는 프로세스 정보를 알고자 한다면 pid 2414이고 프로그램 이름이 cupsd 것을 알수 있는데, 상세히 알고자 한다면 앞에서 살펴본 바와 같이 ls -la /proc/<pid> 실행하면 된다.

   

   

tcp 경우 "telnet host_ip 포트번호" 확인하면 된다.

telnet 자체는 tcp 프로토콜이므로 tcp 관련 프로토콜에 대해서만 접속 가능하며 udp 포트에 대한 telnet 접속 시도는 의미가 없다. 따라서 이를테면 snmp 작동하는지 확인하기 위해 161/udp telnet 접속하는 것은 의미가 없다는 뜻이다.

   

   

   

   

   

   

아래의 사이트를 참조하면 특정한 포트 번호가 어떤 역할을 하는지에 대해서 상세한 정보를 얻을 있다.

http://www.grc.com/portdatahelp.htm

http://www.iss.net/security_center/advice/Exploits/Ports/default.htm

http://www.chebucto.ns.ca/~rakerman/port-table.html

http://www.networksorcery.com/enp/nav0204.htm

http://www.practicallynetworked.com/sharing/app_port_list.htm

   

   

   

+ Recent posts