지난 프로젝트 일지에서의 계획
1. Framework의 update 기능 및 info 명령시 각 명령어에 대한 설명 추가.
2. 선택한 인터페이스의 IP대역에 있는 호스트 스캐닝 구현

Framework의 update 기능 구현은 스캐너 툴을 완성시킨 후, github페이지에 올린 후에 구현할 것이다.!
info 명령시 각 명령어에 대한 설명 추가! scanner 툴에 대한 설명을 추가하였다.
그리고 선택한 인터페이스의 IP대역에 있는 호스트 스캔을 구현하였다.

info 명령 추가이다.

각 명령어의 사용법을 추가하였다.


(명령어 사용법 추가)


그리고 각 도구에 대한 설명을 추가하였다.


(스캐너 툴 설명 추가)


이번에 구현한 기능은 호스트 스캔 기능으로
해당 네트워크 대역에 살아있는 호스트들을 확인하는 기능이다.
나는 패킷을 직접 만들어 구현하지 않고, nmap의 기능을 이용했다.
python3의 nmap 모듈을 설치하여 사용했다.

nmap 모듈에 대한 설명이 많지 않았다...
그렇기에 python3 nmap 파일을 직접 열어서 확인해봐야했다.

nmap에는 PortScanner 클래스가 있고 이 클래스를 생성해 nmap 스캔 작업을 한다.

PortScanner 뿐 아니라 다른 기능의 클래스들이 있다. 비동기화스캐너라고 콜백함수를 이용하는 스캐너가 있었는데, 이거 잘쓰면 재밌는 기능을 구현할 수 있을 듯했다.



(포트스캐너 생성)


생성한 nmap 클래스 nm을 scan_menu에 전달하여 구현하였다.



(호스트 스캔)


호스트 스캔을 하고 아래에는 각 정보를 Tool 클래스의 hosts 사전형 변수에 저장한다.
기능을 구현하고 보니 지저분하다는 생각이 들었다.
scan_menu 함수 안에 두기 지저분하니 이걸 함수로 옮겨야겠다.(다음에 옮길 것이다.)

그리고 가지고 있는 hosts 정보를 출력할 함수도 scan_func에 구현하였다.
scanner 툴에 스캔한 호스트 정보를 출력해주는 기능이 있는데, 그 때 이 함수를 호출할 것이다.

(정보는 더 많게!)


(정보 출력 함수)


실행 모습이다.


(스캔 중인 모습)


스캔 결과 아주 흡족하게 나왔다.



(스캔결과)


이 정보 만 가지고는 부족하다.
이 호스트 정보를 가지고 디테일한 스캐닝을 하는 기능을 구현 할 것이다.


오늘 구현한 기능
- scanner의 host scan 기능
- Framwork의 info 명령 추가

현재까지 구현한 기능
1. Framework 내 tool import 등록, 연동
2. 각 Framework의 기능 구현(list, use, info, exit)
3. scanner의 인터페이스 설정 부분, 설정된 인터페이스의 IP정보 구하기.
4. scanner의 host scan 기능

다음 계획
1. 호스트 리스트를 가지고 디테일 스캐닝 기능 구현

2. Framework의 update 기능 구현

+ Recent posts