All Products
Search
Document Center

Anti-DDoS:Peroleh alamat IP asal di balik Anti-DDoS Proxy

Last Updated:Jun 22, 2026

Saat Anti-DDoS Proxy meneruskan trafik ke server origin Anda, IP klien asli akan disembunyikan. Ambil IP tersebut dengan mengurai header X-Forwarded-For atau menginstal modul TOA.

Untuk layanan non-situs web (Lapisan 4)

Instal modul TOA pada server origin Anda untuk memperoleh alamat IP asal. Peroleh alamat IP asal permintaan dengan menginstal modul TOA. Jika Anda tidak dapat menginstal modul TOA, hubungi dukungan teknis.

Instans Anti-DDoS Proxy IPv4

IP sumber klien dikirimkan menggunakan bidang TCP Option. Untuk layanan non-situs web (Lapisan 4), setelah handshake tiga arah antara Anti-DDoS Proxy dan server origin, proxy memodifikasi paket ACK terakhir dengan menyisipkan TCP Option sepanjang 8 byte (jenis 254) yang berisi port sumber dan IP sumber klien. Tangkapan Wireshark berikut menunjukkan contohnya. Bagian TCP Option – Experimental berisi informasi nomor port dan IP sumber:

    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.
  • Nomor port: Bidang Magic Number berisi nomor port dalam bentuk heksadesimal. Misalnya, c4 06 dikonversi ke desimal menjadi 50182.

  • IP sumber: Empat byte setelah nomor port merepresentasikan IP sumber dalam bentuk heksadesimal. Pada contoh ini, 65 ** ** 85 sesuai dengan IP sumber 101.*.*.133.

Instans Anti-DDoS Proxy IPv6

Mode v6tov4

Pada mode v6tov4, di mana klien IPv6 terhubung ke server origin IPv4, paket ACK terakhir berisi TCP Option sepanjang 40 byte (jenis 249). Opsi ini mencakup port sumber, IP sumber, dan alamat IP Anti-DDoS Proxy. Berikut contohnya:

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]
  • Nomor port: Dua byte pertama dari Payload berisi nomor port dalam bentuk heksadesimal. Misalnya, 9d7d dikonversi ke desimal menjadi 40317.

  • Alamat IP sumber: 16 byte setelah nomor port berisi alamat IPv6 sumber dalam bentuk heksadesimal. Misalnya, 2401*****0f87 sesuai dengan 2401:b180:100*:*:*:f87:5d96:f87.

    Catatan

    20 byte tersisa dalam Payload berisi informasi IP Anti-DDoS.

Mode v6tov6

Pada skenario v6tov6, di mana baik klien maupun server origin menggunakan IPv6, paket ACK terakhir berisi TCP Option sepanjang 20 byte (jenis 253). Opsi ini mencakup port sumber dan IP sumber. Berikut contohnya:

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
  • Nomor port: Bidang Experiment Identifier berisi nomor port dalam bentuk heksadesimal. Misalnya, eb98 dikonversi ke desimal menjadi 60312.

  • Alamat IP sumber: Bidang Data berisi alamat IPv6 sumber dalam bentuk heksadesimal. Misalnya, 2401*****0f87 sesuai dengan 2401:b180:100*:*:*:f87:5d96:f87.

Penting

Tambahkan blok CIDR back-to-origin dari Anti-DDoS Proxy ke daftar putih server origin Anda untuk mencegah trafik yang diteruskan diblokir. Izinkan blok CIDR back-to-origin mengakses server origin.

Untuk layanan situs web (Lapisan 7)

Metode 1: Gunakan header X-Forwarded-For

Cara kerja

  • Saat proxy Lapisan 7 seperti Anti-DDoS Proxy meneruskan permintaan, server origin melihat IP proxy sebagai sumbernya. Header X-Forwarded-For mencatat IP aktual klien. Format: X-Forwarded-For: <alamat_IP_asal>.

  • Jika permintaan melewati beberapa proxy (seperti WAF atau CDN), header X-Forwarded-For mencatat IP klien asli diikuti oleh setiap IP proxy. Format: X-Forwarded-For: real-client-IP, proxy-server-1-IP, proxy-server-2-IP, proxy-server-3-IP, .... Setiap proxy menambahkan alamat node sebelumnya ke X-Forwarded-For tetapi tidak menambahkan IP-nya sendiri.

Metode pengambilan

Ambil nilai header X-Forwarded-For dalam kode aplikasi Anda:

Penting
  • Alamat IP pertama dalam nilai X-Forwarded-For yang dipisahkan koma adalah IP asal klien.

  • Anda juga dapat mengonfigurasi server web Anda (Nginx, IIS 6, IIS 7, Apache, atau Tomcat) untuk mengurai header X-Forwarded-For. Peroleh alamat IP asal klien.

  • 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")

Metode 2: Gunakan header HTTP kustom

Ikhtisar

Pada arsitektur kompleks, header standar X-Forwarded-For (XFF) rentan terhadap pemalsuan dan kebingungan IP akibat banyaknya lapisan proxy. Header HTTP kustom memberikan transmisi IP klien yang lebih andal.

Prosedur

Konfigurasikan Anti-DDoS Proxy untuk menulis IP klien ke header HTTP kustom. Konfigurasi pengaturan kembali ke asal.

  1. Masuk ke halaman Website Config di Konsol Anti-DDoS Proxy.

  2. Pada halaman Website Config, klik Add Website.

  3. Pada halaman Website Config, di bagian Forwarding Settings, atur Traffic Marking ke Custom Header (misalnya, Custom-True-IP).

  4. Dalam kode aplikasi Anda, ambil nilai header kustom tersebut, misalnya: request.getHeader("Custom-True-IP").