Simulando múltiplos acessos IP


1

Existe alguma maneira de simular o acesso IP múltiplo para um aplicativo específico (meu aplicativo) de uma máquina? Eu crio alguns fatos / relatórios interessantes com base no IP do cliente, que não está relacionado de alguma forma à funcionalidade do aplicativo, portanto, preciso testar de um bom número de clientes / IPs (digamos, 500ish). Aprecie qualquer ajuda / sugestão

Respostas:


1

Eu precisaria de mais informações, mas tentarei adivinhar (supondo que você possa trabalhar com uma distribuição Linux):

If ("multiple IP access" doesn't mean different IPs)
{
    If (your application doesn't need interaction, but only an http request)
    {
        I would try several wget in parallel launched from a shell script
    }
    else // == your application needs interaction
    {
        Can you program a light client (let's say python, java...) to simulate one client and launch several simultaneously?
    }
}
else // == you need different IPs
{
    If (the IPs need to be public)
    {
        I would try to work on wget/light client accesing different proxy servers on the Internet.
    }
    else // == they can be private
    {
        I would first try to create about 500 subinterfaces (eth0:n). This means 2 /24, and some work on address space on your private site. Once you have the subinterfaces, I would try the wget/light client over different subinterfaces.
    }
}

Não tenho conhecimento sobre subinterfaces; tentando obter mais informações agora; Enquanto isso; apenas uma pergunta rápida. Cada subinterface pode ter um IP diferente na rede?
vpram86

1
Sim, as subinterfaces podem ter endereços IP diferentes (até mesmo de prefixos diferentes).
David

wow isso é bom; então tudo que eu preciso fazer é usar um prefixo aleatório ip para sub e usar ip route add ou algo similar?
vpram86

1
Este é um exemplo de como você pode criar quantas subinterfaces desejar: para ((i = 10; i & lt; = 11; i ++)); do sudo ifconfig eth0: $ i 192.168.1 $ i / 24 acima; E então você tem suas novas subinterfaces: $ ifconfig -a eth0 [...] eth0: 10 Link encap: direcciónHW 00: 0c: 29: e3: cf: a7 Direc. inet: 192.168.1.10 Difus .: 192.168.1.255 Másc: 255.255.255.0 eth0: 11 Encaps de ligação: direcciónHW 00H00: 0c: 29: e3: cf: a7 Direc. inet: 192.168.1.11 Difus.:192.168.1.255 Másc: 255.255.255.0 (não consigo inserir novas linhas)
David

1
Isso depende muito das tabelas de roteamento em seus hosts de destino (aplicativo) e origem. Se as subinterfaces forem configuradas com 192.168.1.x, o primeiro salto precisará de uma interface com o IP nessa rede e o host de destino precisará saber como responder a esse prefixo.
David

1

Apenas um conselho. No caminho de evolução do IPv6 (melhor dizer Dual Stack), será muito comum ter usuários IPv4 atrás de um CGNAT44; Isso significa que vários usuários estarão visíveis atrás do mesmo endereço IPv4 público. Portanto, será possível que vários usuários acessem seu aplicativo no mesmo endereço IPv4 público. Por causa disso, você deve desenvolver seus aplicativos sem depender da crença de que "um IP significa um usuário".


Bom conselho; mas como eu disse, estou coletando fatos baseados em IP; Como Quantos acessos de localização geográfica específica e tal; Não falando sobre os usuários em tudo aqui.
vpram86
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.