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
这将在默认地址(127.0.0.1:8888)上启动 Ghostport,并使用来自 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
签名文件应每行包含一个签名。签名可以是原始文本或正则表达式模式。例如:
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] 这需要 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 文件。