Eth1ポートを介してインターネットを受信し、ホットスポットを介して他のデバイス(wlan0ポート)と共有するとします
[internet]----(eth1)[my computer](wlan0 hotspot)
|
|
|
[destination]
パケットをhotspotに転送する前に、プロキシサーバー(burpスイートなど)を介してそれらを渡すことができるように、iptablesルールをどのように設定すればよいですか。このような:
[internet]----(eth1)[my computer]
|
|
|
(:8080)[proxy server](wlan0 hotspot)
|
|
|
[destination]
また、パケットを受信者に転送できるburpスイートをどのように構成する必要がありますか?
私が正しく理解していれば、お使いのコンピュータはWifiアクセスポイントとして機能するので、wlan0でdhcpサーバーを実行しているはずですが、そうですか?
これが事実であると仮定すると、まず/ proc/sys/net/ipv4/ip_forwardを0ではなく1に設定する必要があります(IPv4を使用している場合、IPv6に相当するものがあるかどうかはわかりません)。
あなたが探しているiptablesコマンドは
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
または
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-destination <eth1 IPv4 address>
これは、すべてのIPアドレスをwifiから1つのeth1に見せかけ、すべての応答パケットを魔法のようにwifiネットワーク上の正しいデバイスにリダイレクトします。
Burpを使用するための最も簡単な方法は、WirpデバイスでBurpをプロキシとして設定することです。不可能な場合は、Burpの「非表示プロキシサポート」を使用して2つのリスナーを設定する必要があります。1つはHTTP(ポート8080としましょう)と1つはHTTPS(ポート8443としましょう)です。次に、iptablesコマンドは次のようになります。
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-ports 8080
および
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j REDIECT --to-ports 8443
私が正しく覚えていれば、それでうまくいくはずです。