Todos os produtos
Search
Central de documentação

Anti-DDoS:Obter endereços IP de origem atrás do Anti-DDoS Proxy

Última atualização: Jun 27, 2026

Quando o Anti-DDoS Proxy encaminha tráfego para o servidor de origem, o IP original do cliente fica oculto. Para recuperá-lo, analise o cabeçalho X-Forwarded-For ou instale um módulo TOA.

Para serviços sem site (Camada 4)

Instale o módulo TOA no servidor de origem para obter o endereço IP de origem. Obter o endereço IP de origem de uma solicitação instalando o módulo TOA. Caso não seja possível instalar o módulo TOA, entre em contato com o suporte técnico.

Instância IPv4 do Anti-DDoS Proxy

O IP de origem do cliente é transmitido pelo campo TCP Option. Em serviços sem site (Camada 4), após o handshake de três vias entre o Anti-DDoS Proxy e o servidor de origem, o proxy modifica o pacote ACK final ao inserir uma TCP Option de 8 bytes (tipo 254). Essa opção contém a porta de origem e o IP de origem do cliente. A captura do Wireshark a seguir mostra um exemplo. A seção TCP Option – Experimental contém as informações de número da porta e IP de origem:

    Destination Port: 443
     [Stream index: 0]
     [TCP Segment Len: 0]
    Sequence number: 1    (relative sequence number)
    Acknowledgment number: 1    (relative ack number)
    1001 .... = Header Length: 36 bytes (9)
  ▶ Flags: 0x010 (ACK)
    Window size value: 65535
     [Calculated window size: 65535]
     [Window size scaling factor: -2 (no window scaling used)]
    Checksum: 0x90fb [unverified]
     [Checksum Status: Unverified]
    Urgent pointer: 0
  ▼ Options: (16 bytes), Experimental
    ▼ TCP Option – Experimental
        Kind: RFC3692-style Experiment 2 (254)
        Length: 8
        Magic Number: 0xc406
      Unknown (0xfa) (8 bytes)
0000   b4 0c 25 e2 80 46 4c e1   75 f7 e5 c1 08 00 45 00   ..%..FL. u.....E.
0010   00 38 00 00 40 00 26 06   cf e9 2f 70 49 ce 67 96   .8..@.&. ../pI.g.
0020   a4 02 1b 2e 01 bb c8 c1   cf 98 ab 2f 54 e1 90 10   ........ .../T...
0030   ff ff 90 fb 00 00 fe 08   c4 06 65 xx xx 85 fa 08   ........ ..exx...
0040   01 bb cb 6b 34 80                                     ...k4.
  • Número da porta: O campo Magic Number contém o número da porta em hexadecimal. Por exemplo, c4 06 convertido para decimal resulta em 50182.

  • IP de origem: Os quatro bytes subsequentes ao número da porta representam o IP de origem em hexadecimal. Neste exemplo, 65 ** ** 85 corresponde ao IP de origem 101...133.

Instância IPv6 do Anti-DDoS Proxy

Modo v6tov4

No modo v6tov4, em que um cliente IPv6 se conecta a um servidor de origem IPv4, o pacote ACK final contém uma TCP Option de 40 bytes (tipo 249). Essa opção inclui a porta de origem, o IP de origem e o endereço IP do Anti-DDoS Proxy. O exemplo a seguir ilustra esse cenário:

Destination Port: 8080
[Stream index: 1]
[Stream Packet Number: 3]
[Conversation completeness: Incomplete, ESTABLISHED (7)]
[TCP Segment Len: 0]
Sequence Number: 1    (relative sequence number)
Sequence Number (raw): 2505761997
[Next Sequence Number: 1    (relative sequence number)]
Acknowledgment Number: 1    (relative ack number)
Acknowledgment number (raw): 483970095
1111 .... = Header Length: 60 bytes (15)
Flags: 0x010 (ACK)
Window: 4096
[Calculated window size: 262144]
[Window size scaling factor: 64]
Checksum: 0xbc88 [unverified]
[Checksum Status: Unverified]
Urgent Pointer: 0
Options: (40 bytes), Unknown (0xf9)
  TCP Option – Unknown
    Kind: Unknown (249)
    Length: 40
    Payload: 9d7d2401b180xxxd960f875d960f87000000012405e000100300000000000a7304b55
[Timestamps]
  • Número da porta: Os dois primeiros bytes do Payload contêm o número da porta em hexadecimal. Por exemplo, 9d7d convertido para decimal resulta em 40317.

  • Endereço IP de origem: Os 16 bytes após o número da porta contêm o endereço IPv6 de origem em hexadecimal. Por exemplo, 2401*****0f87 corresponde a 2401:b180:100*:*:*:f87:5d96:f87.

    Nota

    Os 20 bytes restantes no Payload contêm as informações de IP do Anti-DDoS.

Modo v6tov6

Em um cenário v6tov6, onde tanto o cliente quanto o servidor de origem utilizam IPv6, o pacote ACK final contém uma TCP Option de 20 bytes (tipo 253). Essa opção inclui a porta de origem e o IP de origem. Veja um exemplo abaixo:

Destination Port: 8080
 [Stream index: 0]
 [Stream Packet Number: 1]
 [Conversation completeness: Incomplete (12)]
 [TCP Segment Len: 0]
 Sequence Number: 1    (relative sequence number)
 Sequence Number (raw): 721958393
 [Next Sequence Number: 1    (relative sequence number)]
 Acknowledgment Number: 1    (relative ack number)
 Acknowledgment number (raw): 2789445640
 1010 .... = Header Length: 40 bytes (10)
 Flags: 0x010 (ACK)
 Window: 65535
 [Calculated window size: 65535]
 [Window size scaling factor: -1 (unknown)]
 Checksum: 0x90cc [unverified]
 [Checksum Status: Unverified]
 Urgent Pointer: 0
 Options: (20 bytes), Experimental
   TCP Option - Experimental: Unknown
       Kind: RFC3692-style Experiment 1 (253)
       Length: 20
       Experiment Identifier: Unknown (0xeb98)
       Data: 2401b180100xxx0f875d960f87
  • Número da porta: O campo Experiment Identifier contém o número da porta em hexadecimal. Por exemplo, eb98 convertido para decimal resulta em 60312.

  • Endereço IP de origem: O campo Data contém o endereço IPv6 de origem em hexadecimal. Por exemplo, 24010f87 corresponde a 2401:b180:100:::f87:5d96:f87.

Importante

Adicione os blocos CIDR de back-to-origin do Anti-DDoS Proxy à lista de permissões do servidor de origem para evitar o bloqueio do tráfego encaminhado. Permitir que blocos CIDR de back-to-origin acessem o servidor de origem.

Para serviços de site (Camada 7)

Método 1: Usar o cabeçalho X-Forwarded-For

Como funciona

  • Quando um proxy de Camada 7, como o Anti-DDoS Proxy, encaminha uma solicitação, o servidor de origem identifica o IP do proxy como a origem. O cabeçalho X-Forwarded-For registra o IP real do cliente. Formato: X-Forwarded-For: <endereço_IP_de_origem>.

  • Se uma solicitação passar por vários proxies (como WAF ou CDN), o cabeçalho X-Forwarded-For registrará o IP real do cliente seguido pelo IP de cada proxy. Formato: X-Forwarded-For: IP-cliente-real, IP-servidor-proxy-1, IP-servidor-proxy-2, IP-servidor-proxy-3, .... Cada proxy anexa o endereço do nó anterior ao X-Forwarded-For, mas não anexa o seu próprio.

Métodos de recuperação

Recupere o valor do cabeçalho X-Forwarded-For no código da aplicação:

Importante
  • O primeiro endereço IP na lista separada por vírgulas do valor X-Forwarded-For é o IP de origem do cliente.

  • Também é possível configurar o servidor web (Nginx, IIS 6, IIS 7, Apache ou Tomcat) para analisar o cabeçalho X-Forwarded-For. Recuperar os endereços IP de origem dos clientes.

  • ASP

    Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  • ASP.NET (C#)

    Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
  • PHP

    $_SERVER["HTTP_X_FORWARDED_FOR"]
  • JSP

    request.getHeader("HTTP_X_FORWARDED_FOR")

Método 2: Usar um cabeçalho HTTP personalizado

Visão geral

Em arquiteturas complexas, o cabeçalho padrão X-Forwarded-For (XFF) é vulnerável a falsificações e confusão de IP devido a múltiplas camadas de proxy. Um cabeçalho HTTP personalizado oferece uma transmissão mais confiável do IP do cliente.

Procedimento

Configure o Anti-DDoS Proxy para gravar o IP do cliente em um cabeçalho HTTP personalizado. Configurar definições de back-to-origin.

  1. Faça login na página Website Config no console do Anti-DDoS Proxy.

  2. Na página Website Config, clique em Add Website.

  3. Na página Website Config, na seção Forwarding Settings, defina Traffic Marking como Custom Header (por exemplo, Custom-True-IP).

  4. No código da aplicação, recupere o valor do cabeçalho personalizado. Exemplo: request.getHeader("Custom-True-IP").