Skip to content

命令选项说明(更新中)

Mike Wang edited this page Jul 9, 2025 · 2 revisions

接口选项(Interface Options)

-a

含义: 作用于所有网络接口(忽略 -i 选项)。

示例:

fakehttp -a -h example.com

说明:

  • 始终推荐使用 -i 选项指定具体的网络接口。

  • 想要处理所有网络接口时,才应使用此选项。

-i <interface>

含义: 作用于指定的网络接口。

示例:

fakehttp -i eth0 -h example.com
fakehttp -i eth0 -i eth1 -i eth2 -h example.com

说明:

  • 可以多次指定 -i 选项,例如 -i eth0 -i eth1 -i eth2,表示同时作用于 eth0, eth1, eth2 三个网络接口。

  • 使用 WAN 口拨号的 OpenWRT 路由器一般使用 -i pppoe-wan

  • 只使用 LAN 口的 OpenWRT 路由器一般使用 -i br-lan

  • 如果不知道使用哪个网络接口,可以执行 ip link 命令,逐个尝试该命令返回的所有接口,直至日志出现 <===FAKE(*)=== 字样;或者临时使用 -a 选项,作用于所有网络接口。

负载选项(Payload Options)

-b <file>

含义: 使用二进制文件作为 TCP 负载。

示例:

fakehttp -i eth0 -b /root/payload.bin

说明:

  • -h 选项、-e 选项不能满足需求时,可使用此选项。

  • 自定义负载 payload.bin 可通过 WireShark 抓包获得。具体步骤可参考(待添加)。

-e <hostname>

含义: 用于 HTTPS 混淆的主机名

示例:

fakehttp -i eth0 -e tls.example.com

说明:

  • FakeHTTP 会生成一个 HTTPS 的 Client Hello 负载发送给对方,带有指定域名的 SNI。例如 -e tls.example.com,表示生成一个用于访问 https://tls.example.com 的 Client Hello 负载并使用它。

-h <hostname>

含义: 用于 HTTP 混淆的主机名

示例:

fakehttp -i eth0 -h www.example.com
fakehttp -i eth0 \
    -h www01.example.com \
    -h www02.example.com \
    -h www03.example.com \
    -e tls01.example.com \
    -e tls02.example.com \
    -e tls03.example.com \
    -b /root/payload01.bin \
    -b /root/payload02.bin \
    -b /root/payload03.bin

说明:

  • FakeHTTP 会生成一个 HTTP 的 GET 请求发送给对方,HTTP 头部的 Host 字段为指定域名。例如 -h www.example.com,表示生成一个用于访问 http://www.example.com 的 GET 请求负载并使用它。

  • FakeHTTP 支持指定多个负载选项(Payload Options),具体包括 -h, -e, -b 三个选项,这些负载将被轮换使用。

  • 指定多个负载选项时,FakeHTTP 不会对它们进行去重处理。因此可通过重复指定多个相同的域名,调整它们出现的比例。

Clone this wiki locally