
PTR, SSL/TLS 조회, SNI, JSON을 지원하는 빠른 IP-호스트명 리졸버.
whathost는 보안 전문가, 침투 테스터, 버그 바운티 헌터를 위해 설계된 고성능 정찰 도구입니다. SSL/TLS 인증서 검사와 DNS PTR 조회를 통해 IP 주소를 호스트 이름으로 신속하게 확인하여, 보안 평가를 위한 포괄적인 호스트 열거 기능을 제공합니다.
SSL/TLS 인증서 열거
:8443, :8080)DNS PTR 조회
성능 최적화
유연한 출력
신뢰성
go install gitlab.com/bountrix/whathost@latest
git clone https://gitlab.com/bountrix/whathost.git
cd whathost
go build -o whathost
sudo mv whathost /usr/local/bin/whathost
whathost -version
파일에서 빠른 스캔:
whathost -i targets.txt
stdin으로부터의 파이프라인:
cat ips.txt | whathost
100개의 워커를 사용한 고속 스캔:
whathost -i targets.txt -t 100
깔끔한 출력을 위한 무음 모드:
whathost -i targets.txt -silent | sort -u
SSL 전용 열거(DNS 건너뛰기):
whathost -i targets.txt -skip-dns -t 200
사용자 지정 리졸버를 사용한 DNS 전용:
whathost -i targets.txt -skip-ssl -r 8.8.8.8 -p 53
통계가 포함된 JSON 출력:
whathost -i targets.txt -json -stats -dedupe > results.json
지연을 적용한 속도 제한 스캔:
whathost -i targets.txt -delay 100ms -timeout 15
가상 호스트용 사용자 지정 SNI:
whathost -i targets.txt -sni example.com -insecure
상세 디버깅:
whathost -i targets.txt -v -stats
완전한 정찰 워크플로:
cat targets.txt | whathost -t 100 -dedupe -timestamp -o results.txt -stats
| 플래그 | 별칭 | 설명 |
|---|---|---|
-i | IP가 포함된 입력 파일 (기본값: stdin) | |
-o | 결과 출력 파일 (기본값: stdout) | |
-json | 결과를 JSON 형식으로 출력 | |
-silent | -s | 무음 모드 - 호스트 이름만 출력 |
-timestamp | 결과에 RFC3339 타임스탬프 추가 |
| 플래그 | 별칭 | 설명 |
|---|---|---|
-t | -threads | 동시 작업자 수 (기본값: 32) |
-delay | 요청 간 지연 (예: 100ms, 1s) | |
-timeout | HTTP 클라이언트 타임아웃(초) (기본값: 10) |
| 플래그 | 별칭 | 설명 |
|---|---|---|
-r | -resolver | 사용자 지정 DNS 리졸버 IP 주소 |
-p | DNS 리졸버 포트 (기본값: 53) | |
-protocol | DNS 프로토콜: udp 또는 tcp (기본값: udp) | |
-dns-timeout | DNS 조회 타임아웃(초) (기본값: 5) | |
-skip-dns | DNS PTR 조회 건너뛰기 |
| 플래그 | 설명 |
|---|---|
-sni | SSL 연결에 사용할 SNI 호스트 이름 재정의 |
-insecure | TLS 인증서 검증 건너뛰기 (기본값: true) |
-skip-ssl | SSL 인증서 검사 건너뛰기 |
| 플래그 | 별칭 | 설명 |
|---|---|---|
-dedupe | 출력에서 호스트 이름 중복 제거 | |
-stats | 완료 시 상세 통계 표시 | |
-v | -verbose | 디버그 정보와 함께 상세 출력 |
-banner | 시작 시 ASCII 배너 표시 | |
-version | 버전 정보 표시 |
[SSL-SAN] 143.43.221.133 -> example.com
[SSL-CN] 143.43.221.133 -> example.org
[DNS-PTR] 143.43.221.133 -> host.example.com
[SSL-SAN] 143.43.221.133:8443 -> api.example.com
{
"type": "SSL-SAN",
"ip": "143.43.221.133",
"hostname": "example.com",
"source": "certificate"
}{
"type": "SSL-CN",
"ip": "143.43.221.133",
"hostname": "example.org",
"source": "certificate"
}{
"type": "DNS-PTR",
"ip": "143.43.221.133",
"hostname": "host.example.com",
"source": "dns"
}{
"type": "SSL-SAN",
"ip": "143.43.221.133",
"hostname": "api.example.com",
"port": "8443",
"source": "certificate"
}
example.com
example.org
host.example.com
api.example.com
╔════════════════════════════════════════════╗
║ Statistics Report ║
╠════════════════════════════════════════════╣
║ Total IPs processed: 250 ║
║ SSL hostnames found: 487 ║
║ DNS PTR records: 198 ║
║ Unique hostnames: 623 ║
║ Failed checks: 12 ║
║ Time elapsed: 45.3s ║
║ Processing rate: 5.52 IPs/s ║
╚════════════════════════════════════════════╝
cat ip-ranges.txt | whathost -silent -dedupe | httprobe
whathost -i scope-ips.txt -stats -o discovered-hosts.txt
whathost -i company-ips.txt -json -dedupe > asset-inventory.json
cat ct-log-ips.txt | whathost -skip-dns -t 200 -silent
whathost -i targets.txt -skip-ssl -r 1.1.1.1 -v
iptohost는 다양한 입력 형식을 허용합니다:
# Plain IPs
192.168.1.1
10.0.0.1
# IPs with ports
192.168.1.1:8443
10.0.0.1:9000
# CIDR ranges (each IP should be on its own line)
192.168.1.1
192.168.1.2
192.168.1.3
# Comments (lines starting with #)
# Production servers
192.168.1.100
# Staging servers
192.168.1.200
# HTTP(S) URLs (protocol will be stripped)
https://192.168.1.1
http://10.0.0.1:8080
subfinder 및 httpx와 결합:
subfinder -d example.com -silent | httpx -silent | whathost -silent | sort -u
취약점 스캔을 위해 nuclei로 파이프:
cat targets.txt | whathost -silent -dedupe | nuclei -t cves/
massdns와 체이닝:
cat subdomains.txt | massdns -r resolvers.txt -o S -w - | awk '{print $3}' | whathost
CSV로 내보내기:
whathost -i targets.txt -json | jq -r '[.ip,.hostname,.type] | @csv'
whathost -i massive-list.txt -t 500 -timeout 5 -dns-timeout 3
whathost -i targets.txt -t 10 -delay 500ms -timeout 20
whathost -i targets.txt -t 20 -timeout 30 -dns-timeout 10 -dedupe -stats
기여를 환영합니다! 언제든지 Pull Request를 제출해 주세요.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.
INTELEON404 - @inteleon404 BOUNTRIX - @BOUNTRIX