1. 개요
Dnmap는 서버와 클라이언트로 이루어져 있으며, 서버는 클라이언트로 nmap 명령어를 보내면, 클라이언트는 내용을 받아 실행한다. Dnmap을 사용하면, 여러 검사를 혼자 수행할 경우 부하가 심해지는데, 이 부하를 클라이언트로 분산시키는 효과를 볼 수 있다. 또한 Nmap의 결과는 서버와 클라이언트 양쪽에 로그 파일로 저장된다.
Dnmap 서버의 특징 - 의도하지 않은 상황에서 서버가 다운되었을 경우, 처음부터 다시 작업을 하지 않고 이어서 작업이 가능하다. 즉, 서버를 다시 실행되면 다운되기 직전 명령부터 클라이언트에게 보내게 된다. - 서버가 가동중 일때 새로운 명령을 추가 할 일이 생기면, 서버를 중지하지 않고 원본 파일에 새 명령을 추가 할 수 있다. 서버는 추가된 새로운 명령을 자동으로 로드한다. - 일부 클라이언트가 다운된 경우, 서버는 클라이언트가 다운되기 직전의 명령을 기억하였다가 클라이언트가 실행되면 다운 직전 명령부터 다시 보낸다. - 작업 내용은 로그로 저장한다. - 서버는 아래 내용들을 포함하여, 각 클라이언트가 작업하는 내용을 실시간 통계로 보여준다. 실행 된 명령의 수 마지막보고 가동 시간 클라이언트 버전 클라이언트가 root 여부로 실행되는 경우 분당 실행 된 명령의 양 산출 실행된 명령의 양을 분당 평균치로 산출 클라이언트의 상태 (오프라인/온라인/실행/저장) Dnmap 클라이언트 특징 - 서버가 다운된 경우 서버가 다시 실행될 때까지 연결을 유지한다. - 서버에서 전송되는 명령에서 이상한 문자가 존재할시 이상한 문자를 제거. - 사용자의 별칭을 선택할 수 있다. - 클라이언트가 서버로 연결하는 포트를 변경할 수 있다. - 서버에서 보낸 명령에서 -oA 옵션이없는 경우에도, 클라이언트는 명령에 대한 출력을 항상 로컬 복사한다. |
2. 테스트 환경
Dnmap 서버 : Kali Linux 1.0.3 : Dnmap v0.6 Dnmap 클라이언트 : Kali Linux 1.0 대상 서버 : Metasploitable2 / Ubuntu 12.04 |
3. 상세 테스트
Dnmap을 사용하기 위해서는 가장 먼저 Nmap 명령어들을 저장한 명령어 파일을 만들어야 한다. 사용자가 원하는 Nmap 명령어를 파일로 저장한다.
명령어 파일을 만들었으면, Dnmap 서버를 실행 시킨다.
Dnmap 서버에서 사용할 수 있는 옵션의 종류는 아래와 같다.
옵 션 |
설 명 |
-f, --nmap-commands |
Nmap 명령어가 저장되어있는 파일 |
-p, --port |
Dnmap 클라이언트가 Dnmap 서버에 연결 할 TCP 포트 |
-L, --log-file |
로그 파일. 기본값 : /var/log/dnmap_server.conf |
-l, --log-level |
로그 레벨(저장되는 로그 정보). 기본값 : info |
-v, --verbose_level |
자세히 보기 레벨 (1~5사이 지정) 기본값 : 1 |
-t, --client-timeout |
클라이언트가 지정한 시간 만큼 응답이 없는 경우 다운으로 판단 |
-s, --sort |
정렬할 필드값 지정 #Commands, UpTime, RunCmdXMin, AvrCmdXMin, Status |
-P, --pem-file |
TLS 연결 시 사용할 pem 파일 지정 |
Dnmap 서버를 실행하기 위해서는 아래와 같이 사용한다.
root@kali#/usr/bin/dnmap_server [옵션] |
여기서는 별다른 옵션을 적용하지 않고 테스트하였다. Dnmap 서버를 실행 시키면 아래와 같이 Dnmap 클라이언트를 기다린다.
다음으로 Dnmap 클라이언트를 실행 시킨다.
Dnmap 클라이언트에서 사용할 수 있는 옵션은 아래와 같다.
옵 션 |
설 명 |
-s, --server-ip |
Dnmap 서버 IP |
-p, --server-port |
Dnmap 서버가 대기하고 있는 TCP 포트 |
-a, --alias |
별칭 |
-d, --debug |
디버깅 |
-m, --max-rate |
Nmap 명령어를 수행할 때 속도 지정 |
Dnmap 클라이언트를 실행하기 위해서는 아래와 같이 사용한다.
root@kali#/usr/bin/dnmap_client [옵션] |
여기서는 별다른 옵션을 적용하지 않고 테스트하였다. Dnmap 클라이언트를 실행 시키면 아래와 같이 Dnmap 서버로 연결을 한 후 명령어를 받아와 nmap 명령을 수행한다.
Dnmap 서버로 부터 받은 명령을 처리하면 nmap_output이라는 폴더가 생성된다. nmap_output에 명령을 수행한 결과가 저장되어 있다.
'Open Source > Kali Linux' 카테고리의 다른 글
[Forensics Hashing Tools] md5deep on Kali Linux (0) | 2013.05.30 |
---|---|
[Network Forensics Tools] p0f On Kali Linux (0) | 2013.05.28 |
Kali bleeding edge (0) | 2013.05.09 |
Kali Linux Bug Tracker (0) | 2013.05.09 |
[Password Attack - Online] phrasendrescher On Kali Linux (0) | 2013.05.03 |