
전체 포트 스캔 결과를 분할하여 타겟 Nmap 실행에 사용합니다.
Divide Et Impera And Scan (그리고 스캔 결과도 병합)
NixOS![]() | ![]() |
|---|---|
| NixOS | offsec.tools |
DivideAndScan은 포트 스캐닝 작업을 3단계로 나누어 효율적으로 자동화하는 데 사용됩니다:
1단계에서는 빠른 포트 스캐너*가 사용되며, 출력은 파싱되어 단일 파일 데이터베이스(TinyDB)에 저장됩니다. 그 다음 2단계에서는 데이터베이스 정보에 따라 각 대상의 열린 포트 집합에 대해 개별 Nmap 스캔이 시작됩니다(멀티프로세싱 지원). 마지막 3단계에서는 분리된 Nmap 출력이 nMap_Merger를 사용하여 단일 보고서( XML / HTML / 일반 텍스트 / grepable)로 병합됩니다. 시각화는 DrawNmap이 제공합니다.
잠재적 사용 사례:
* 사용 가능한 포트 스캐너:
면책 조항. 이 저장소에 포함된 모든 정보는 교육 및 연구 목적으로만 제공됩니다. 작성자는 이 도구의 불법적인 사용에 대해 책임을 지지 않습니다.

divide and scan을 성공적으로 수행하려면 몇 가지 좋은 포트 스캐닝 도구가 필요합니다(아래 예시에서는 GitHub 릴리스를 eget을 통해 가져옵니다).
📑 참고: 호스트 OS에서 의존성 문제를 겪고 싶지 않다면, Docker 부분으로 건너뛰세요.
sudo apt install nmap xsltproc -y
sudo nmap --script-updatedb
pushd /tmp
wget https://github.com/ivre/masscan/archive/refs/heads/master.zip -O masscan-master.zip
unzip masscan-master.zip
cd masscan-master
make
sudo make install
popd && rm -rf /tmp/masscan-master*
eget -t 2.0.1 -a amd64 RustScan/RustScan --to /tmp/rustscan.deb
sudo dpkg -i /tmp/rustscan.deb && rm /tmp/rustscan.deb
sudo wget https://gist.github.com/snovvcrash/8b85b900bd928493cd1ae33b2df318d8/raw/fe8628396616c4bf7a3e25f2c9d1acc2f36af0c0/rustscan-ports-top1000.toml -O /root/.rustscan.toml
sudo mkdir /opt/naabu
sudo eget -s linux/amd64 projectdiscovery/naabu --to /opt/naabu
sudo ln -sv /opt/naabu/naabu /usr/local/bin/naabu
sudo mkdir /opt/nimscan
sudo eget -a NimScan elddy/NimScan --to /opt/nimscan
sudo ln -sv /opt/nimscan/nimscan /usr/local/bin/nimscan
sudo mkdir /opt/sx
sudo eget -s linux/amd64 v-byte-cpu/sx --to /opt/sx
sudo ln -sv /opt/sx/sx /usr/local/bin/sx
sudo mkdir /opt/pd
sudo eget -s linux/amd64 projectdiscovery/dnsx --to /opt/pd
sudo ln -sv /opt/pd/dnsx /usr/local/bin/dnsx
DivideAndScan은 PyPI에 divideandscan으로 제공되지만, 항상 최신 버전을 사용하기 위해 pipx로 GitHub에서 설치하는 것을 권장합니다:
~$ pipx install -f "git+https://github.com/snovvcrash/DivideAndScan.git"
~$ das
shiv로 패키징된 릴리스도 있습니다 (파일 크기가 크지만):
# shiv -e das.divideandscan:main -o das.pyz divideandscan
~$ wget https://github.com/snovvcrash/DivideAndScan/releases/latest/download/das.pyz && chmod +x das.pyz
~$ ./das.pyz
디버깅 목적으로 poetry로 개발 환경을 설정할 수 있습니다:
~$ git clone --recurse-submodules https://github.com/snovvcrash/DivideAndScan
~$ cd DivideAndScan
~$ poetry install
~$ poetry run das
📑 참고: DivideAndScan은 모든 포트 스캐너를 실행하기 위해 sudo를 사용하므로, 스캔 명령어가 실행될 때 비밀번호를 요청합니다.
Docker 컨테이너에서 DivideAndScan을 다음과 같이 실행할 수 있습니다:
~$ docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan
이 도구는 입력 데이터가 필요하고 출력 데이터를 생성하므로, 현재 작업 디렉토리를 컨테이너 내 /app에 마운트 포인트로 지정해야 합니다. 또한 호스트에 8050 포트를 게시하면 Nmap 보고서 시각화에 사용되는 Dash 앱에 접근할 수 있습니다.
기본 명령어를 더 짧게 만들기 위해 별칭을 설정할 수 있습니다:
~$ alias das='docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan'
~$ das

|
⚠️ 경고: 거의 모든 포트 스캐닝 도구는 잘못 사용하면 테스트 중인 시스템을 손상시킬 수 있으므로, 자신이 무엇을 하고 있는지 반드시 이해하시기 바랍니다.
모듈이 작업을 시작하면 |
|
|