Route between two network interfaces with same IP address?
Esta é uma declaração sem sentido. Os endereços IP devem ser únicos em uma rede - o TCP / IP confia nesse fato para operar corretamente.
No entanto -
Transparently bridge between two network interfaces
parece muito mais com o que você está tentando fazer.
Eu acredito que o Linux suporta pontes transparentes. Interfaces unidas a uma ponte funcionarão como um interruptor. É claro que você pode farejar o tráfego passando pela ponte com o Wireshark ou com a linha de comando equivalente, tshark
. Eu nunca fiz isso com placas de rede físicas (normalmente são 1 placa de rede física e algo como um adaptador virtual para uma VPN) - essa é uma experiência que eu queria fazer há muito tempo (uma caixa antiga com 4 placas de rede) em um software switcH), mas deve funcionar. brctl
é o comando que você deseja analisar.
Então, na caixa Linux do "meio", você precisa criar uma ponte, adicionar suas NICs a ela, e é isso. As NICs fazem parte de uma ponte e não recebem endereços IP individuais (como portas em um switch). Como um switch, ele encaminhará o tráfego na camada 2, não na camada 3, e os dispositivos de ambos os lados não saberão que há algo no meio.
iptables
, a interface do Linux para o Netfilter, que é responsável pelo roteamento, filtragem de pacotes e mutilação de pacotes (modificação) é muito versátil e você provavelmente poderia fazer algo equivalente a isso, apesar de funcionar na Camada 3. / p>
No que diz respeito ao software que pode analisar o fluxo capturado, existem muitas ferramentas para fazer isso. Não é algo com o qual eu tenha sido envolvido em profundidade, mas uma vez que você é capaz de capturar pacotes com algo como o Wireshark, muitas opções estão abertas para você.