Se você estiver no Linux, poderá capturar pacotes na interface lo
(loopback). Não há necessidade de forçar o tráfego para o fio.
Eu postei essa pergunta no serverfault há alguns dias, mas acho que é mais preciso aqui.
Eu sei que há alguns tópicos sobre forçar o tráfego IP local de uma máquina Linux para passar pela LAN (através da rede onde um WireShark está capturando tráfego), mas todas as soluções implicam modificação de endereço IP.
Agora minha configuração:
Minha pergunta é: É possível forçar o Linux Kernel a permitir que os pacotes IP atravessem a rede (um switch + um PC com Wireshark) SEM mudar o endereço IP e as portas para que o WireShark veja 192.168.1.2 e 192.168.1.3 como src e destination (e vice versa )?
Como eu disse, encontrei algumas respostas com alterações de IP aqui: Forçar pacotes TCP locais por segmento de rede para captura e outro aqui: Forçar o tráfego IP local para uma interface externa
Talvez seja impossível sem o driver ou a modificação do kernel? Eu sou um programador C, então se eu tiver que procurar modificações no kernel, pode ser uma solução possível (depois de me acostumar com a programação do kernel ... então o tempo consumindo)
Agradecemos antecipadamente aos gurus da rede:)
Eu encontrei uma solução possível com um parâmetro sysctl: accept_local em combinação com rp_filter: "Aceite pacotes com endereços de origem locais. Em combinação com o roteamento adequado, isso pode ser usado para direcionar pacotes entre duas interfaces locais por fio e fazer com que sejam aceitos corretamente." Vou tentar e informar se está trabalhando com apenas UMA interface e IP virtual.
Eu tentei com muitas alternativas de tabelas de roteamento, mas acho que é impossível em uma interface ..
Se você estiver no Linux, poderá capturar pacotes na interface lo
(loopback). Não há necessidade de forçar o tráfego para o fio.