Como usar o Linux para capturar pacotes no eth0 e enviar tudo para o eth1?

4

Hoje eu tenho uma conexão de Internet corporativa junto com um roteador Sagemcom. Na primeira vez que estiver conectado à Internet, ele gastará 20 minutos atualizando o firmware.

Eu realmente gostaria de capturar todo o tráfego para esta atualização usando um host CentOS com duas NICs, com o objetivo de descobrir como as atualizações são autenticadas. Por exemplo. com uma conta de usuário e senha secreta?

Se eu quiser colocar o host do CentOS entre a conexão com a Internet e o roteador:

Pergunta

  • Como eu configuro o CentOS, então todo o tráfego que entra em eth0 sai em eth1 ?
  • É tcpdump -s0 -A -w upgrade.pcap -nni eth0 correto, se eu quiser usar o Wireshark mais tarde para inspecionar os pacotes?
por Sandra 05.04.2013 / 10:54

2 respostas

5

Você pode configurar eth0 e eth1 como ponte e supondo que eth0 esteja conectado à Sagemcom e eth1 seja conectado à conexão com a internet. O tráfego passaria pela ponte, então você poderia executar um dump TCP na ponte e capturar todo o tráfego.

Você precisará do pacote bridge-utils

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up

tcpdump -s0 -w dump.pcap -i br0
    
por 05.04.2013 / 11:23
2

Primeiro, você configuraria sua caixa CentOS como um roteador, o que basicamente envolve a ativação do encaminhamento de pacotes (geralmente uma máquina é o destino), se você quiser permitir a passagem do tráfego.

A parte simples disso está mudando /etc/sysctl.conf .
Mudar

net.ipv4.ip_forward = 0 para 1.

Então você definiria eth0 em uma rede, eth1 na outra e adicionaria uma rota entre as redes.

Configurar outras coisas como firewalls ou selinux depende de você.

Eu usaria tcpdump -s0 -n host < router IP > -w upgrade.pcap -i any
Embora parte disso possa ser redundante, por exemplo, se você estiver ouvindo o tráfego indo e voltando do IP do roteador, não é necessário especificar muito o que se refere às interfaces, acredito.

    
por 05.04.2013 / 11:15