
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
これにより、Ghostport はデフォルトのアドレス (127.0.0.1:8888) で signatures.txt のシグネチャを使用して起動します。
-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
シグネチャファイルには、1行に1つのシグネチャを記述します。シグネチャは生のテキストまたは正規表現パターンを使用できます。例:
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)
その他の例については、シグネチャ ファイルを参照してください。
受信するすべての 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] この操作には root 権限が必要であり、指定したインターフェース上のすべての受信 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 ファイルを参照してください。