Pergunta

Conhecemos um cenário de teste que precisa adulterar com o endereço IP de origem de uma solicitação HTTP para simular clientes vindos de diferentes países. Você conhece alguma ajuda da ferramenta sobre isso?

Por último, mas não menos importante, nosso site é criado com asp.net.

Obrigado.

Foi útil?

Solução

Como observado nas respostas para o Pergunta do servidor Fault "são endereços IP triviais para forjar", você não pode forjar facilmente endereços de origem em um protocolo que exigia comunicação de duas maneiras (por exemplo, TCP). Observe que essa "comunicação de duas vias" é necessária no nível do pacote. Você não pode simplesmente dizer "Não há problema, quero enviar solicitações e ignorar as respostas HTTP". Para estabelecer uma sessão TCP, você precisa receber dados. Sua melhor aposta é usar um servidor proxy.

Outras dicas

Em um ambiente de teste, geralmente não é difícil. Primeiro leia isso é tão pergunta sobre interfaces de rede virtual.

Se o servidor e o cliente estiverem na mesma máquina, tudo o que você precisa fazer é descobrir como fazer com que seu software cliente vincule à sua interface virtual.wget Por exemplo, tem o --bind-address opção para especificar a qual endereço local se vincular. Os navegadores da Web são um pouco mais difíceis de fazer isso; Pode ser necessário executá -lo em uma VM.

Se o seu servidor e cliente estiverem na mesma LAN, você só precisará configurar seu roteador com algumas rotas estáticas para sua máquina cliente. Neste caso você provavelmente Não precisa de uma interface de rede virtual, basta definir um IP estático para sua máquina cliente; Desde que o gateway seja configurado corretamente, ele poderá enviar pacotes para o servidor e, desde que a rota seja configurada corretamente, as respostas deverão encontrar o caminho de volta ao cliente.

Se o cliente e o servidor forem separados por uma Internet, é mais difícil. Uma opção é configurar um terminal de túnel de rede no servidor e o tunnel para a máquina cliente, que "sabe" que possui a interface de rede virtual.

Não tenho certeza se o padrão IP permite isso, mas se você estiver trabalhando em um ambiente de laboratório, onde não precisa de conectividade da Internet durante o teste, posso vê -lo trabalhando nas seguintes circunstâncias:

Basicamente, eu definiria a interface de rede do servidor para usar o NetMask 0.0.0.0 e lavar o restante da tabela de roteamento.

Em seguida 0.0.0.0. E a comunicação bidirecional deve ser possível.

Server[1.2.3.4/0] <---> Client[x.x.x.x/0]

Mas por favor, tenha paciência comigo. Eu não testei isso, então eu poderia estar errado :-)

Se você tiver acesso à sua infraestrutura, poderá adicionar uma interface do roteador e colocar uma rota estática no roteador nessa rede.

Server-----Router----Internet
            /
Test_PC----/

Como alternativa, você pode olhar para Pbr (Roteamento baseado em políticas) e nos roteadores você pode sinalizar pacotes de origem e alterar a fonte em tempo real, para que seu servidor pense que eles vêm de onde você gostaria que eles viessem.

Server-------------Router_with_PBR-------------Internet----- PC
SCR:4.2.2.2        Change SCR:6.6.6.6 to 4.2.2.2              6.6.6.6

Mas você precisa se perguntar por que você quer ver quando os pacotes vêm de diferentes países. Alguns países têm servidores de proxy maciços que filtram o acesso ("Grande Firewall da China"), para que os testes acima não sejam muito.

Sua melhor aposta é usar servidores proxy ou se você estiver procurando uma solução de longo prazo, configure um servidor (o virtual é ótimo para isso) e use o RDP para testar. Tenho certeza de que você pode alugar um servidor virtual em algum lugar por um mês ou dois.

Isso não é possível. Porque quando você forja o endereço IP, a resposta nunca mais voltará, necessária para o HTTP.

A melhor maneira é usar proxies. Veja também isto Pergunta no ServerFault.

Se você alterar seu endereço IP de origem, isso significa que nenhum tráfego do seu servidor da Web poderá entrar em contato com o cliente.

Você pode usar algum tipo de filtro de tradução de proxy e/ou endereço para fazer o remapeamento enquanto ainda permite a comunicação bidirecional.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top