vxfemboy/ghostport
GitHub: vxfemboy/ghostport
Ghostport 是一款基于 Rust 和 Tokio 构建的高性能端口伪装工具,通过在所有端口上动态模拟真实服务特征来迷惑端口扫描器。
Stars: 484 | Forks: 29
[](https://virus.ad/vxfemboy/ghostport/actions)
# Ghostport
Ghostport 是一款复杂的端口伪装工具,旨在迷惑和误导端口扫描器。它是受 portspoof 概念启发而用 Rust 实现的版本,提供了更高的性能和灵活性。

## 功能
- **动态端口模拟**:通过返回各种逼真的服务特征来响应端口扫描。
- **可自定义特征**:通过简单的文本文件即可轻松添加或修改服务特征。
- **高性能**:使用 Rust 和 Tokio 构建,可高效、异步地处理连接。
- **灵活的日志记录**:提供 debug、verbose 和 quiet 日志模式,以适应不同的使用场景。
- **易于使用**:具有简单的命令行界面和合理的默认设置。
## 安装
```
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` 中的特征,在默认地址 (127.0.0.1:8888) 上启动 Ghostport。
### 命令行选项
- `-s, --signatures `:特征文件的路径(默认:"signatures")
- `-l, --listen `:监听地址(默认:"127.0.0.1:8888")
- `-d, --debug`:启用 debug 日志
- `-v, --verbose`:启用 verbose 日志
- `-q, --quiet`:启用 quiet 日志
- `-V, --version`:打印版本信息
### 示例
使用自定义地址和 verbose 日志运行:
```
./target/release/ghostport -s signatures.txt -l 0.0.0.0:8888 -v
```
使用 debug 日志运行:
```
./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](signatures.txt) 文件。
## 将流量路由到 Ghostport
要将所有传入的 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" 替换为你实际的网络接口。
要移除此规则:
```
iptables -t nat -D PREROUTING -i $INTERFACE -p tcp -m tcp -m multiport --dports 1:65535 -j REDIRECT --to-ports 8888
```
## 许可证
该项目基于 GNU 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 致谢
- 灵感来源于原始的 [portspoof 项目](https://github.com/drk1wi/portspoof)
- 使用 Rust 和 Tokio 构建
标签:Rust, 可视化界面, 异步网络, 插件系统, 端口伪造, 网络流量审计, 通知系统