全部产品
Search
文档中心

Simple Log Service:Fungsi penguraian alamat IP

更新时间:Jun 26, 2025

Topik ini menjelaskan sintaksis dan parameter fungsi penguraian alamat IP serta memberikan contoh penggunaannya.

Fungsi

Fungsi

Deskripsi

geo_parse

Mengidentifikasi kota, provinsi, dan negara berdasarkan alamat IP.

ip_cidrmatch

Memeriksa apakah alamat IP termasuk dalam blok Classless Inter-Domain Routing (CIDR).

ip_version

Memeriksa apakah versi alamat IP adalah IPv4 atau IPv6.

ip_type

Mengidentifikasi jenis alamat IP dan memeriksa apakah jenis alamat IP tersebut adalah pribadi atau publik.

ip_makenet

Mengonversi alamat IP menjadi blok CIDR.

ip_to_format

Mengonversi format blok CIDR ke format yang menentukan netmask atau panjang prefix dari blok CIDR.

ip_overlaps

Memeriksa apakah dua blok CIDR tumpang tindih.

ip2long

Mengonversi alamat IP menjadi nilai bertipe long.

long2ip

Mengonversi nilai bertipe long menjadi alamat IP.

geo_parse

Fungsi geo_parse digunakan untuk mengidentifikasi kota, provinsi, dan negara berdasarkan alamat IP.

  • geo_parse(ip, ip_db="SLS-GeoIP", keep_fields=None, provider="ipip", ip_sep=None)
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    ip

    String

    Ya

    Alamat IP yang ingin Anda uraikan untuk mendapatkan kota, provinsi, dan negara tempat alamat IP tersebut berada. Jika Anda ingin memasukkan beberapa alamat IP, Anda dapat menentukan pemisah dengan menggunakan parameter ip_sep.

    ip_db

    String

    Ya

    Basis data alamat IP yang digunakan untuk menguraikan alamat IP menjadi kota, provinsi, dan negara tempat alamat IP tersebut berada. Nilai valid:

    • SLS-GeoIP: basis data alamat IP bawaan Layanan Log Sederhana. Ini adalah nilai default. Untuk memastikan akurasi, basis data alamat IP bawaan Layanan Log Sederhana diperbarui setiap hari. Anda dapat menggunakan basis data tanpa perlu konfigurasi tambahan.

    • Basis data alamat IP kustom: Atur nilainya ke res_oss_file(endpoint, ak_id, ak_key, bucket, file, format='binary', change_detect_interval=0,fetch_interval=2,refresh_retry_max=60,encoding='utf8',error='ignore'). Untuk informasi lebih lanjut tentang parameter dalam fungsi res_oss_file, lihat res_oss_file.

    keep_fields

    Tuple

    Tidak

    Kunci-kunci yang disertakan dalam respons.

    • Jika Anda menggunakan basis data alamat IP bawaan untuk menguraikan alamat IP, kunci-kunci berikut disertakan secara default dalam respons:

      • city: nama kota

      • province: nama provinsi

      • country: nama negara

      • city_en: kode administratif atau nama kota

      • province_en: kode administratif atau nama provinsi

      • country_en: kode atau nama negara/wilayah

      • isp: nama penyedia layanan internet (ISP)

      • lat: garis lintang lokasi tempat alamat IP tersebut berada

      • lon: garis bujur lokasi tempat alamat IP tersebut berada

    • Jika Anda menggunakan basis data alamat IP kustom untuk menguraikan alamat IP, kunci-kunci berikut disertakan secara default dalam respons:

      • city: nama kota

      • province: nama provinsi

      • country: nama negara

    Sebagai contoh, keep_fields=("city","country") menunjukkan bahwa kunci city dan country dikembalikan.

    Parameter keep_fields juga dapat digunakan untuk mengganti nama kunci. Sebagai contoh, (("city","cty"),("country","state")) menunjukkan bahwa kunci city dan country diubah menjadi cty dan state dalam hasil yang dikembalikan.

    provider

    String

    Tidak

    Parameter ini hanya valid ketika parameter ip_db diatur ke basis data alamat IP kustom. Nilai valid:

    • ipip: Basis data alamat IP biner yang disediakan oleh IPIP dalam format IPDB digunakan untuk menguraikan alamat IP. Untuk mengunduh basis data, kunjungi ipip. Ini adalah nilai default.

    • ip2location: Basis data alamat IP global biner yang disediakan oleh IP2Location digunakan untuk menguraikan alamat IP. Untuk mengunduh basis data, kunjungi ip2location. Hanya basis data alamat IP biner yang didukung.

    ip_sep

    String

    Tidak

    Pemisah alamat IP. Pemisah digunakan untuk memisahkan string alamat IP menjadi beberapa alamat IP. Respons dalam format JSON. Nilai default: None. Nilai ini menentukan bahwa string alamat IP tidak dipisahkan.

  • Kamus dikembalikan dalam format berikut:

    {
      "city": "...",
      "province":"...",
      "country": "..."
    }
    • Contoh 1: Gunakan basis data alamat IP bawaan Layanan Log Sederhana untuk menanyakan data.

      • Log mentah:

        ip : 203.0.113.1
      • Aturan transformasi:

        e_set("geo", geo_parse(v("ip")))
      • Hasil:

        ip : 203.0.113.1
        geo: {"city":"Hangzhou","province":"Zhejiang province","country":"China","isp":"China Mobile","lat":30.16,"lon":120.12}
    • Contoh 2: Gunakan basis data alamat IP bawaan Layanan Log Sederhana untuk menanyakan data. Fungsi menguraikan bidang log yang berisi beberapa alamat IP dan mengembalikan kota, provinsi, dan negara tempat masing-masing alamat IP berada.

      • Log mentah:

        ip : 203.0.113.4, 192.0.2.2, 198.51.100.2
      • Aturan transformasi:

        e_set("geo", geo_parse(v("ip"), ip_sep=","))
      • Hasil:

        ip : 203.0.113.4, 192.0.2.2, 198.51.100.2
        geo : {"203.0.113.4": {"country_en": "CN", "province_en": "330000", "city_en": "330200", "country": "China", "province": "Zhejiang province", "city": "Ningbo", "isp": "China Telecom", "lat": 29.8782, "lon": 121.549}, "192.0.2.2": {"country_en": "CN", "province_en": "320000", "city_en": "321300", "country": "China", "province": "Jiangsu province", "city": "Suqian", "isp": "China Telecom", "lat": 33.9492, "lon": 118.296}, "198.51.100.2": {"country_en": "CN", "province_en": "330000", "city_en": "330500", "country": "China", "province": "Zhejiang province", "city": "Huzhou", "isp": "China Telecom", "lat": 30.8703, "lon": 120.093}}
    • Contoh 3: Gunakan basis data alamat IP kustom untuk menanyakan data.

      • Log mentah:

        ip : 203.0.113.1
      • Aturan transformasi:

        e_set("geo",geo_parse(v("ip"), ip_db=res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',
                                                         ak_id='your ak_id',
                                                         ak_key='your ak_key',
                                                         bucket='your bucket', file='ipipfree.ipdb',
                                                                       format='binary',change_detect_interval=20)))
      • Hasil:

        ip : 203.0.113.1
        geo : {"city": "Hangzhou", "province":"Zhejiang province","country": "China"}
    • Contoh 4: Gunakan basis data alamat IP kustom untuk menanyakan data. Fungsi mengembalikan kunci yang ditentukan dan mengganti nama kunci.

      • Log mentah:

        ip : 203.0.113.1
      • Aturan transformasi:

        e_set("geo",geo_parse(v("ip"), ip_db=res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',
                                                         ak_id='your ak_id',
                                                         ak_key='your ak_key',
                                                         bucket='your bucket', file='ipipfree.ipdb',
                                                                       format='binary',change_detect_interval=20),keep_fields=(("city","cty"),("country","state"),("province","pro"))))
      • Hasil:

        ip : 203.0.113.1
        geo : { "state": "China","pro": "Zhejiang province","cty": "Hangzhou"}
    • Contoh 5: Gunakan basis data alamat IP kustom untuk menanyakan data. Fungsi mengembalikan kunci yang ditentukan.

      • Log mentah:

        ip : 203.0.113.1
      • Aturan transformasi:

        e_set("geo",geo_parse(v("ip"), ip_db=res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',
                                                         ak_id='your ak_id',
                                                         ak_key='your ak_key',
                                                         bucket='your bucket', file='ipipfree.ipdb',
                                                                       format='binary',change_detect_interval=20),keep_fields=("country","province")))
      • Hasil:

        ip : 203.0.113.1
        geo : { "country": "China","province": "Zhejiang province"}
    • Contoh 6: Gunakan basis data alamat IP kustom untuk menanyakan data dan gunakan basis data alamat IP global biner yang disediakan oleh IP2Location untuk mengurai data. Fungsi mengembalikan kunci yang ditentukan.

      • Log mentah:

        ip : 203.0.113.2
      • Aturan transformasi:

        e_set("geo", geo_parse(v("ip"), ip_db=res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',ak_id="your ak_id", ak_key="your ak_secret", bucket='log-etl-staging', file='your ip2location bin file', format='binary', change_detect_interval=20),provider="ip2location"))
      • Hasil:

        ip : 203.0.113.2
        geo : {"city":"Dearborn","province":"Michigan","country":"United States"}

      Jika Anda mengatur nilai parameter provider ke ip2location, SDK sumber terbuka untuk Python yang disediakan oleh IP2Location digunakan untuk transformasi data. SDK untuk Python yang disediakan oleh IP2Location dapat digunakan untuk mengurai bidang berikut. Jika sebuah bidang gagal diurai, Anda harus memeriksa apakah bidang tersebut termasuk dalam basis data alamat IP yang disediakan oleh IP2Location.

      country_short
      country_long / Bidang negara ditentukan untuk transformasi data.
      region / Bidang provinsi ditentukan untuk transformasi data.
      city
      isp
      latitude
      longitude
      domain
      zipcode
      timezone
      netspeed
      idd_code
      area_code
      weather_code
      weather_name
      mcc
      mnc
      mobile_brand
      elevation
      usage_type                               

      Untuk informasi lebih lanjut, kunjungi SDK Python IP2Location.

    • Contoh 7: Gunakan basis data alamat IP kustom untuk menanyakan data. Fungsi menguraikan bidang log yang berisi beberapa alamat IP dan mengembalikan kota, provinsi, dan negara tempat masing-masing alamat IP berada.

      • Log mentah:

        ip : 203.0.113.3, 192.0.2.1, 198.51.100.1
      • Aturan transformasi:

        e_set("geo", geo_parse(v("ip"), ip_db=res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',
                                                                       ak_id="ak_id",
                                                                       ak_key="ak_secret",
                                                                       bucket='log-etl-staging',
                                                                       file='calendar.csv/IP2LOCATION-LITE-DB3.BIN',
                                                                       format='binary', change_detect_interval=20),
                                        provider="ip2location", ip_sep=","))
      • Hasil:

        ip : 203.0.113.3, 192.0.2.1, 198.51.100.1
        geo : {"203.0.113.3": {"city": "Dearborn", "province": "Michigan", "country": "United States"}, "192.0.2.1": {"city": "Hangzhou", "province": "Zhejiang", "country": "China"}, "198.51.100.1": {"city": "Hangzhou", "province": "Zhejiang", "country": "China"}}

ip_cidrmatch

Contoh 1: Alamat IPv4 yang ditentukan termasuk dalam blok CIDR yang ditentukan. Fungsi mengembalikan true.

  • ip_cidrmatch(cidr_subnet, ip, default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    cidr_subnet

    String

    Ya

    Blok CIDR. Contoh: 192.168.1.0/24.

    ip

    String

    Ya

    Alamat IP.

    default

    String

    Tidak

    Jika alamat IP tidak termasuk dalam blok CIDR, nilai parameter ini dikembalikan. Anda dapat meninggalkan parameter ini kosong.

  • Jika alamat IP yang ditentukan termasuk dalam blok CIDR yang ditentukan, fungsi akan mengembalikan nilai true. Jika tidak, fungsi akan mengembalikan nilai false.

    • Contoh 1: Alamat IPv4 yang ditentukan termasuk dalam blok CIDR yang ditentukan. Fungsi mengembalikan true.

      • Log mentah:

        cidr_subnet: 192.168.1.0/24
        ip: 192.168.1.100
      • Aturan transformasi:

        e_set("is_belong",ip_cidrmatch(v("cidr_subnet"),v("ip")))
      • Hasil:

        cidr_subnet: 192.168.1.0/24
        ip: 192.168.1.100
        is_belong: true
    • Contoh 2: Alamat IPv4 yang ditentukan tidak termasuk dalam blok CIDR yang ditentukan. Fungsi mengembalikan false.

      • Log mentah:

        cidr_subnet: 192.168.1.0/24
        ip: 10.10.1.100
      • Aturan transformasi:

        e_set("is_belong",ip_cidrmatch(v("cidr_subnet"),v("ip")))
      • Hasil:

        cidr_subnet: 192.168.1.0/24
        ip: 10.10.1.100
        is_belong: false
    • Contoh 3: Fungsi tidak dapat menentukan apakah alamat IP yang ditentukan termasuk dalam blok CIDR dan mengembalikan unknown.

      • Log mentah:

        cidr_subnet: 192.168.1.0/24
        ip: a
      • Aturan transformasi:

        e_set("is_belong",ip_cidrmatch(v("cidr_subnet"),v("ip"),default="unknown"))
      • Hasil:

        cidr_subnet: 192.168.1.0/24
        ip: a
        is_belong: unknown

ip_version

Fungsi ip_version digunakan untuk memeriksa apakah versi alamat IP adalah IPv4 atau IPv6. Jika versi alamat IP adalah IPv4, fungsi mengembalikan IPv4. Jika versi alamat IP adalah IPv6, fungsi mengembalikan IPv6.

  • ip_version(ip, default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    ip

    String

    Ya

    Alamat IP.

    default

    String

    Tidak

    Jika versi alamat IP yang ditentukan gagal diidentifikasi, nilai parameter ini dikembalikan. Anda dapat meninggalkan parameter ini kosong.

  • IPv6 atau IPv4 dikembalikan.

    • Contoh 1: Alamat IP yang ditentukan adalah alamat IPv4. Fungsi mengembalikan IPv4.

      • Log mentah:

        ip: 192.168.1.100
      • Aturan transformasi:

        e_set("version",ip_version(v("ip")))
      • Hasil:

        ip: 192.168.1.100
        version: IPv4
    • Contoh 2: Alamat IP yang ditentukan adalah alamat IPv6. Fungsi mengembalikan IPv6.

      • Log mentah:

        ip: ::1
      • Aturan transformasi:

        e_set("version",ip_version(v("ip")))
      • Hasil:

        ip: ::1
        version: IPv6

ip_type

Fungsi ip_type digunakan untuk mengidentifikasi jenis alamat IP dan memeriksa apakah jenis alamat IP tersebut adalah pribadi atau publik. Nilai valid: private, reserved, loopback, public, dan allocated ripe ncc.

  • ip_type(ip, default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    ip

    String

    Ya

    Alamat IP.

    default

    String

    Tidak

    Jika jenis alamat IP yang ditentukan gagal diidentifikasi, nilai parameter ini dikembalikan. Anda dapat meninggalkan parameter ini kosong.

  • Nilai yang menunjukkan jenis alamat IP yang dikembalikan. Nilai valid: private, reserved, loopback, public, dan allocated ripe ncc.

    • Contoh 1: Identifikasi jenis alamat IP yang ditentukan. Fungsi mengembalikan loopback.

      • Log mentah:

        ip: 127.0.0.1
      • Aturan transformasi:

        e_set("type",ip_type(v("ip")))
      • Hasil:

        ip: 127.0.0.1
        type: loopback
    • Contoh 2: Identifikasi jenis alamat IP yang ditentukan. Fungsi mengembalikan private.

      • Log mentah:

        ip: 47.100.XX.XX
      • Aturan transformasi:

        e_set("type",ip_type(v("ip")))
      • Hasil:

        ip: 47.100.XX.XX
        type: private
    • Contoh 3: Identifikasi jenis alamat IP yang ditentukan. Fungsi mengembalikan public.

      • Log mentah:

        ip: 47.100.XX.XX
      • Aturan transformasi:

        e_set("type",ip_type(v("ip")))
      • Hasil:

        ip: 47.100.XX.XX
        type: public
    • Contoh 4: Identifikasi jenis alamat IPv6 yang ditentukan. Fungsi mengembalikan loopback.

      • Log mentah:

        ip: ::1
      • Aturan transformasi:

        e_set("type",ip_type(v("ip")))
      • Hasil:

        ip: ::1
        type: loopback
    • Contoh 5: Identifikasi jenis alamat IPv6 yang ditentukan. Fungsi mengembalikan allocated ripe ncc.

      • Log mentah:

        ip: 2001:0658:022a:cafe:0200::1
      • Aturan transformasi:

        e_set("type",ip_type(v("ip")))
      • Hasil:

        ip: 2001:0658:022a:cafe:0200::1
        type: allocated ripe ncc

ip_makenet

Fungsi ip_makenet digunakan untuk mengonversi alamat IP menjadi blok CIDR.

  • ip_makenet(ip, subnet_mask=None, default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    ip

    String

    Ya

    Alamat IP.

    subnet_mask

    String

    Ya

    Subnet mask. Contoh: 255.255.255.0.

    Catatan

    Jika Anda mengatur parameter ip ke rentang alamat IP, Anda dapat meninggalkan parameter subnet_mask kosong.

    default

    String

    Tidak

    Jika alamat IP yang ditentukan gagal dikonversi menjadi blok CIDR, nilai parameter ini dikembalikan. Anda dapat meninggalkan parameter ini kosong.

  • Blok CIDR telah dikembalikan.

    • Contoh 1: Konversi alamat IP menjadi blok CIDR.

      • Log mentah:

        ip: 192.168.1.0
      • Aturan transformasi:

        e_set("makenet",ip_makenet(v("ip"),"255.255.255.0"))
      • Hasil:

        ip: 192.168.1.0
        makenet: 192.168.1.0/24
    • Contoh 2: Konversi rentang alamat IP menjadi blok CIDR.

      • Log mentah:

        ip: 192.168.1.0-192.168.1.255
      • Aturan transformasi:

        e_set("makenet",ip_makenet(v("ip")))
      • Hasil:

        ip: 192.168.1.0-192.168.1.255
        makenet: 192.168.1.0/24
    • Contoh 3: Konversi rentang alamat IP menjadi blok CIDR.

      • Log mentah:

        ip: 192.168.1.0/255.255.255.0
      • Aturan transformasi:

        e_set("makenet",ip_makenet(v("ip")))
      • Hasil:

        ip: 192.168.1.0/255.255.255.0
        makenet: 192.168.1.0/24

ip_to_format

Fungsi ip_to_format digunakan untuk mengonversi format blok CIDR ke format yang menentukan netmask atau panjang prefix dari blok CIDR.

  • ip_to_format(cidr_subnet, want_prefix_len=0, default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    cidr_subnet

    String

    Ya

    Blok CIDR. Contoh: 192.168.1.0/24.

    want_prefix_len

    Int

    Tidak

    Format blok CIDR keluaran. Nilai default: 0. Nilai valid:

    • 0: mengembalikan blok CIDR asli.

    • 1: mengembalikan alamat IP dan panjang prefix alamat IP.

    • 2: mengembalikan alamat IP dan netmask alamat IP.

    • 3: mengembalikan rentang alamat IP.

    default

    String

    Tidak

    Jika format blok CIDR yang ditentukan gagal dikonversi ke format yang ditentukan, nilai parameter ini dikembalikan. Anda dapat meninggalkan parameter ini kosong.

  • Blok CIDR dalam format yang telah ditentukan dikembalikan.

    • Contoh 1: Format blok CIDR tidak dikonversi.

      • Log mentah:

        ip: 192.168.1.0/24
      • Aturan transformasi:

        e_set("strNormal",ip_to_format(v("ip"),0))
      • Hasil:

        ip: 192.168.1.0/24
        strNormal: 192.168.1.0/24
    • Contoh 2: Konversi format blok CIDR ke format yang menentukan panjang prefix blok CIDR.

      • Log mentah:

         ip: 192.168.1.0/24
      • Aturan transformasi:

        e_set("strNormal",ip_to_format(v("ip"),1))
      • Hasil:

        ip: 192.168.1.0/24
        strNormal: 192.168.1.0/24
    • Contoh 3: Konversi format blok CIDR ke format yang menentukan netmask blok CIDR.

      • Log mentah:

        ip: 192.168.1.0/24
      • Aturan transformasi:

        e_set("strNormal",ip_to_format(v("ip"),2))
      • Hasil:

        ip: 192.168.1.0/24
        strNormal: 192.168.1.0/255.255.255.0
    • Contoh 4: Konversi blok CIDR menjadi rentang alamat IP.

      • Log mentah:

        ip: 192.168.1.0/24
      • Aturan transformasi:

        e_set("strNormal",ip_to_format(v("ip"),3))
      • Hasil:

        ip: 192.168.1.0/24
        strNormal: 192.168.1.0-192.168.1.255

ip_overlaps

Fungsi ip_overlaps digunakan untuk memeriksa apakah dua blok CIDR tumpang tindih.

  • ip_overlaps(cidr_subnet, cidr_subnet2, default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    cidr_subnet

    String

    Ya

    Blok CIDR pertama.

    cidr_subnet2

    String

    Ya

    Blok CIDR kedua.

    default

    String

    Tidak

    Jika fungsi tidak dapat menentukan apakah blok CIDR tumpang tindih, nilai parameter ini dikembalikan. Anda dapat meninggalkan parameter ini kosong.

    • Jika blok CIDR yang ditentukan tidak tumpang tindih, fungsi mengembalikan 0.

    • Jika blok CIDR yang ditentukan tumpang tindih di akhir blok, fungsi mengembalikan 1.

    • Jika blok CIDR yang ditentukan tumpang tindih di awal blok, fungsi mengembalikan -1.

    • Contoh 1: Dua blok CIDR yang ditentukan tidak tumpang tindih.

      • Log mentah:

        cidr1: 192.168.0.0/23
        cidr2: 192.168.2.0/24
      • Aturan transformasi:

        e_set("overlaps",ip_overlaps(v("cidr1"),v("cidr2")))
      • Hasil:

        cidr1: 192.168.0.0/23
        cidr2: 192.168.2.0/24
        overlaps: 0
    • Contoh 2: Dua blok CIDR yang ditentukan tumpang tindih di awal blok.

      • Log mentah:

        cidr1: 192.168.1.0/24
        cidr2: 192.168.0.0/23
      • Aturan transformasi:

        e_set("overlaps",ip_overlaps(v("cidr1"),v("cidr2")))
      • Hasil:

        cidr1: 192.168.1.0/24
        cidr2: 192.168.0.0/23
        overlaps: -1
    • Contoh 3: Dua blok CIDR yang ditentukan tumpang tindih di akhir blok.

      • Log mentah:

        cidr1: 192.168.0.0/23
        cidr2: 192.168.1.0/24
      • Aturan transformasi:

        e_set("overlaps",ip_overlaps(v("cidr1"),v("cidr2")))
      • Hasil:

        cidr1: 192.168.0.0/23
        cidr2: 192.168.1.0/24
        overlaps: 1

ip2long

Fungsi ip2long digunakan untuk mengonversi alamat IP menjadi nilai bertipe long.

  • ip2long(value,default=0)
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    value

    String

    Ya

    Nilai yang ingin Anda konversi.

    default

    String

    Tidak

    Nilai yang dikonversi dari alamat IP yang tidak valid. Anda dapat menggunakan nilai kustom. Contoh: 0.

  • Nilai hasil konversi dari alamat IP yang valid dikembalikan dan bertipe long.

    • Contoh 1: Konversi alamat IP yang valid. Ini adalah skenario default.

      • Log mentah:

        ip: 192.168.0.100
      • Aturan transformasi:

        e_set("long_ip",ip2long(v("ip")))
      • Hasil:

        ip: 192.168.0.100
        long_ip: 167772160
    • Contoh 2: Konversi alamat IP yang tidak valid.

      • Log mentah:

        ip: 47.100.XX.XX
      • Aturan transformasi:

        e_set("long_ip",ip2long(v("ip"), "ignore"))
      • Hasil:

        ip:47.100.XX.XX
        long_ip:ignore

long2ip

Fungsi long2ip digunakan untuk mengonversi nilai bertipe long menjadi alamat IP.

  • long2ip(value,default="")
  • Parameter

    Tipe

    Diperlukan

    Deskripsi

    value

    String

    Ya

    Nilai yang ingin Anda konversi.

    default

    String

    Tidak

    String kosong yang dikonversi dari nilai bertipe long yang tidak valid. Anda dapat menggunakan string kustom.

  • Alamat IP yang dikonversi dari nilai bertipe long yang valid akan dikembalikan.

    • Contoh 1: Konversi nilai bertipe long yang valid. Ini adalah skenario default.

      • Log mentah:

        long: 167772160
      • Aturan transformasi:

        e_set("ip",long2ip(v("long")))
      • Hasil:

        long: 167772160
        ip: 192.168.0.100
    • Contoh 2: Konversi nilai bertipe long yang tidak valid.

      • Log mentah:

        long: 4294967296
      • Aturan transformasi:

        e_set("ip",long2ip(v("long")))
      • Hasil:

        long: 4294967296
        ip: 
    • Contoh 3: Konversi nilai bertipe long yang tidak valid dan atur parameter default ke string kustom.

      • Log mentah:

        long: 4294967296
      • Aturan transformasi:

        e_set("ip",long2ip(v("long"),default="xxx"))
      • Hasil:

        long: 4294967296
        ip: xxx