Windows 7: direcione o tráfego de um programa por uma interface específica

1

Gostaria de saber se existe alguma ferramenta que me permita rotear todo o tráfego IP de um determinado programa por meio de uma interface específica?

Histórico: Estou em uma máquina com várias interfaces de rede conectadas a diferentes redes. Eu mudei de mensagens do Skype para a Wire.com, no entanto, o cliente Windows wire.com não funciona em todas as interfaces ("Sua conexão não é particular"). Agora quero rotear todo o tráfego IP relacionado ao wire.com por meio de uma interface específica.

O que eu tentei até agora:

  • Alterar as métricas de interface não é uma opção, pois isso quebra várias outras ferramentas locais. Para fins de teste, funcionou para a Wire.com.
  • A edição manual da tabela de roteamento não funciona. Há uma lista de hosts aos quais o cliente Wire.com se conecta. Eu resolvi todos os nomes de host para endereços IP e os adicionei à tabela de roteamento, ainda assim, o Wire.com se recusa a trabalhar. Esta não é uma opção, já que a wire.com afirma que os endereços IP estão sujeitos a alterações.
  • Desativei todas as interfaces de rede que não funcionavam com o Wire.com e iniciei o cliente do Wire monitorando seu tráfego com o Wireshark. Eu adicionei todos os endereços IP à tabela de roteamento do Windows (route add dest-ip gateway), de alguma forma a conexão não funcionou quando eu reativei as outras interfaces.

Assim, pergunto-me se existe algum tipo de ferramenta que encaminha automaticamente o tráfego de um dado programa através de uma interface de rede específica?

    
por Aileron79 17.05.2018 / 08:00

1 resposta

0

Em suma, não.

O roteamento é baseado em IP, porta e protocolo - não no aplicativo. Isso acontece no nível do sistema, na pilha de rede do sistema operacional.

A única maneira teórica de fazer com que uma aplicação faça algo diferente de tudo (até onde eu posso pensar) é se a aplicação - ou todo o resto - é pausada e retomada de alguma forma de base de votação. Quando a aplicação retoma, altera o roteamento; quando é suspenso, muda de volta.

No entanto, não é possível suspender todos os processos que não são de aplicação dessa maneira. (Mesmo que você pudesse, não consigo imaginar nada além do desempenho ruim do sistema ou do aplicativo.)

Suas únicas opções de SO único são distinguir o que o aplicativo faz por IP, porta ou protocolo - ou alternar entre diferentes perfis de rede para tudo que usa as informações de rede do aplicativo conforme o aplicativo é lançado e depois terminado.

Uma alternativa seria executar o aplicativo em uma máquina virtual no mesmo sistema operacional, como VirtualBox ou algo de VMware .

Ao fazer isso, a máquina virtual teria sua própria pilha de rede que poderia ser configurada independentemente do sistema operacional do host em que ela é executada.

    
por 17.05.2018 / 09:19