
Rust로 구축된 고성능 포트 스푸핑 도구. 모든 포트에 걸친 동적 서비스 에뮬레이션으로 포트 스캐너를 혼란시키세요. 사용자 정의 가능한 시그니처, 효율적인 비동기 처리, 간편한 트래픽 리디렉션 기능을 제공합니다.
Ghostport는 포트 스캐너를 혼란시키고 오도하도록 설계된 정교한 포트 스푸핑 도구입니다. portspoof의 개념에서 영감을 받은 Rust 구현체로, 향상된 성능과 유연성을 제공합니다.

git clone https://github.com/vxfemboy/ghostport.git
cd ghostport
cargo build --release
기본 사용법:
./target/release/ghostport -s signatures.txt
또는 cargo로 실행할 수 있습니다.
git clone https://github.com/vxfemboy/ghostport.git
cd ghostport
cargo run -- -s signatures.txt
이렇게 하면 signatures.txt의 시그니처를 사용하여 Ghostport가 기본 주소(127.0.0.1:8888)에서 시작됩니다.
-s, --signatures <FILE>: 시그니처 파일 경로 (기본값: "signatures")-l, --listen <ADDRESS>: 수신 대기 주소 (기본값: "127.0.0.1:8888")-d, --debug: 디버그 로깅 활성화-v, --verbose: 상세 로깅 활성화-q, --quiet: 조용한 로깅 활성화-V, --version: 버전 정보 출력사용자 지정 주소 및 상세 로깅으로 실행:
./target/release/ghostport -s signatures.txt -l 0.0.0.0:8888 -v
디버그 로깅으로 실행:
./target/release/ghostport -s signatures.txt -l 0.0.0.0:8888 -d
시그니처 파일은 줄마다 하나의 시그니처를 포함해야 합니다. 시그니처는 원시 텍스트 또는 정규식 패턴일 수 있습니다. 예를 들어:
HTTP/1.1 200 OK\r\nServer: Apache/2.4.41 (Unix)\r\n
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.1
220 (vsFTPd 3.0.3)
더 많은 예제는 signatures 파일을 참조하세요.
모든 수신 TCP 트래픽을 Ghostport로 리디렉션하려면 iptables를 사용할 수 있습니다. 이렇게 하면 Ghostport가 모든 포트의 연결에 응답하여 모든 서비스를 효과적으로 스푸핑할 수 있습니다:
INTERFACE="eth0" # change to your network interface
iptables -t nat -A PREROUTING -i $INTERFACE -p tcp -m tcp -m multiport --dports 1:65535 -j REDIRECT --to-ports 8888
이 명령은 포트 1-65535의 모든 TCP 트래픽을 Ghostport가 수신 대기 중인 포트 8888로 리디렉션합니다. "eth0"을 실제 네트워크 인터페이스로 바꾸는 것을 잊지 마세요.
[!NOTE] 이 작업은 루트 권한이 필요하며 지정된 인터페이스의 모든 수신 TCP 연결에 영향을 미칩니다. 특히 프로덕션 시스템에서는 주의해서 사용하세요.
이 규칙을 제거하려면:
iptables -t nat -D PREROUTING -i $INTERFACE -p tcp -m tcp -m multiport --dports 1:65535 -j REDIRECT --to-ports 8888
기여는 언제나 환영합니다! 자유롭게 Pull Request를 제출해 주세요.
이 프로젝트는 GNU 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.