Redirecionando o tráfego HTTP(s) para outro servidor

Redirecionando o tráfego HTTP(s) para outro servidor

Estou tentando configurar um ambiente de teste para pesquisa/engenharia reversa de plataformas sem fio.

Eu tenho um roteador AP transmitindo minha rede à qual o hardware que estou pesquisando se conecta e, a partir daí, o AP redirecionará todo o tráfego para um servidor para análise.

Minhas regras nat do iptables no AP para redirecionar o tráfego são:

iptables -t nat -A PREROUTING -p tcp --dport 80 -m conntrack --ctstate NEW -j DNAT --to x.x.x.x:8880
iptables -t nat -A PREROUTING -p tcp --dport 443 -m conntrack --ctstate NEW -j DNAT --to x.x.x.x:8443
iptables -t nat -A PREROUTING -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

Tanto o AP quanto o servidor também possuem IP_FORWARD habilitado.

E no meu servidor tenho softwares como sslsplit, mitmproxy ou outros que pegam o tráfego e me permitem analisá-lo.

O problema é que, quando redireciono o tráfego dessa maneira, o software no meu servidor continua querendo se conectar a si mesmo por algum motivo, em vez de se conectar à porta/domínio adequado.

Por exemplo, se o IP do meu servidor fosse 1.1.1.1:8443; quando o hardware, 192.168.0.100, conectado ao meu AP acessa um site que resolve 2.2.2.2:443 as regras do iptables redirecionam todo o meu tráfego indo de 2.2.2.2:443 para 1.1.1.1:8443 para análise. Tudo bem, mas quando o software tenta encaminhar a conexão para o servidor http remoto para finalizar a solicitação/obter uma resposta, em vez de passar o tráfego para 2.2.2.2:443 para obter uma resposta, ele o envia para 1.1.1.1:8443 (também conhecido como ele mesmo).

Isso é culpa das minhas regras do iptables ou de algum tipo de problema de software? Os mesmos resultados acontecem para alguns softwares quando usados ​​​​em seu modo de processamento remoto, então sou levado a acreditar que é um problema na forma como estou redirecionando o tráfego.

O redirecionamento de tráfego como esse é possível ou precisa ser feito de outra maneira?

A configuração é cliente (192.168.0.100) -> AP -> roteador -> internet -> servidor de processamento de dados (1.1.1.1:8443) -> internet -> host da web (2.2.2.2:443)

Qualquer sugestão será apreciada.

Responder1

O tráfego do seu servidor para 2.2.2.2:443 (o destino original) atravessa o AP?

Nesse caso, a tradução seria aplicada, portanto altere as regras do DNAT para que o tráfego originado no servidor seja excluído da tradução do DNAT.

iptables -t nat -A PREROUTING -p tcp ! -s x.x.x.x --dport 80 -m conntrack --ctstate NEW -j DNAT --to x.x.x.x:8880

informação relacionada