A menos que você esteja usando um proxy transparente, o comportamento que você está vendo é normal:
- os clientes se conectam ao proxy para recuperar o conteúdo, assim você vê os pacotes dos clientes para o proxy e de volta;
- o proxy se conecta aos servidores de destino em nome dos clientes, portanto, você vê os pacotes do proxy nos servidores de destino e de volta.
No nível do IP, não há como conectar os dois. Se seu proxy é um proxy de armazenamento em cache, então, em alguns casos, não haverá nada para se conectar: o proxy pode atender às solicitações dos clientes se tiver as informações em seu cache. Mas se você olhar dentro dos pacotes, você deve encontrar o que está procurando:
- as solicitações dos clientes para o proxy conterão o nome do servidor de destino (procure o
Host
cabeçalho HTTP); - solicitações do proxy para o servidor de destino podem (dependendo da configuração do proxy) conter o endereço IP do cliente (procure o
X-Forwarded-For
cabeçalho HTTP).
Observe que, no segundo caso, com um proxy de armazenamento em cache, você encontrará apenas o endereço IP do primeiro cliente solicitando um recurso que pode ser armazenado em cache.
Se você está tentando lidar com conexões criptografadas, as coisas ficam um pouco mais complicadas; Vou deixar você ler sobre isso (veja a página do Wireshark sobre o assunto e Squid ) ...