tencent cloud

Cloud Log Service

IP関数

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:16
AI翻訳
IP関数はIPアドレスに基づいてIP地理情報およびセキュリティ脅威情報を取得できます。本文ではIP関数の基本構文および例を紹介します。

IP地理関数

IPv4のみサポート

説明:
以下の関数におけるKEYパラメータはログフィールド(例えばip)を表し、その値はIPアドレスです。その値が内部IPアドレスまたは不正なフィールドである場合、解析できず、「NULL」または「未知」と表示されます。
IPアドレス割り当てメカニズムの制限により、IPアドレスデータベースはすべてのIPアドレスの地理情報を100%正確に網羅することはできません。ごく一部のIPアドレスでは、詳細な地理情報を照会できない場合や、地理情報に誤りが存在する場合があります。
関数名
説明
例
ip_to_country
(KEY)
対象IPアドレスの所属する国または地域を分析します。戻り値は国または地域の中国語名です。
* | SELECT ip_to_country(ip)
ip_to_country_code
(KEY)
対象IPアドレスが属する国または地域のコードを分析します。戻り値は国または地域のコードです。
* | SELECT ip_to_country_code(ip)
ip_to_country_geo
(KEY)
対象IPアドレスが属する国または地域の経緯度を分析します。戻り値は国または地域の経緯度です。
* | SELECT ip_to_country_geo(ip)
ip_to_province
(KEY)
対象IPアドレスが属する省を分析します。戻り値は省の中国語名です。
* | SELECT ip_to_province(ip)
ip_to_province_code
(KEY)
対象IPアドレスが属する省のコードを分析します。戻り値は省の行政区画コードです。
* | SELECT ip_to_province_code(ip)
ip_to_province_geo
(KEY)
対象IPアドレスが属する省の経緯度を分析します。戻り値は省の経緯度です。
* | SELECT ip_to_province_geo(ip)
ip_to_city
(KEY)
対象IPアドレスが属する都市を分析します。戻り値は都市の中国語名です。国外の都市の場合は英語名です。
* | SELECT ip_to_city(ip)
ip_to_city_code
(KEY)
対象IPアドレスが属する都市のコードを分析します。戻り値は都市の行政区画コードです。中国の都市のみサポートされます。
* | SELECT ip_to_city_code(ip)
ip_to_city_geo
(KEY)
対象IPアドレスが属する都市の経緯度を分析します。戻り値は都市の経緯度です。中国の都市のみサポートされます。
* | SELECT ip_to_city_geo(ip)
ip_to_provider
(KEY)
対象IPアドレスに対応するネットワーク事業者を分析し、結果としてネットワーク事業者名を返します。
* | SELECT ip_to_provider(ip)

IPv4およびIPv6をサポート

注意:
著作権の制限により、この関数は一部の大口顧客のみに提供されます。利用を希望する場合は、Tencent Cloudテクニカルサービスチームに連絡して評価を受けてください。
この関数を使用する際、SQLの返却結果が1万行を超えると、超過部分のIP解析結果は自動的に非表示となり、Hiding Detailed Geolocation Data in IPv6またはNULLと表示されます。この制限はSQLの最終計算結果のみに適用され、SQL中間段階の計算精度には影響しません。
IPアドレスに対応するネットワーク事業者の取得には対応していません。つまり、ip_to_provider関数はサポートされていません。
IPアドレス割り当てメカニズムの制限により、IPアドレスデータベースはすべてのIPアドレスの地理情報を100%正確に網羅することはできません。ごく一部のIPアドレスでは、詳細な地理情報を照会できない場合や、地理情報に誤りが存在する場合があります。
関数名
説明
例
ip_to_country(KEY,'enable_ipv6')
対象IPアドレスの所属する国または地域を分析します。戻り値は国または地域の中国語名です。
* | SELECT ip_to_country(ip,'enable_ipv6')
ip_to_country_code(KEY,'enable_ipv6')
対象IPアドレスが属する国または地域のコードを分析します。戻り値は国または地域のコードです。
* | SELECT ip_to_country_code(ip,'enable_ipv6')
ip_to_country_geo(KEY,'enable_ipv6')
対象IPアドレスが属する国または地域の経緯度を分析します。戻り値は国または地域の経緯度です。
* | SELECT ip_to_country_geo(ip,'enable_ipv6')
ip_to_province(KEY,'enable_ipv6')
対象IPアドレスが属する省を分析します。戻り値は省の中国語名です。
* | SELECT ip_to_province(ip,'enable_ipv6')
ip_to_province_code(KEY,'enable_ipv6')
対象IPアドレスが属する省のコードを分析します。戻り値は省の行政区画コードです。
* | SELECT ip_to_province_code(ip,'enable_ipv6')
ip_to_province_geo(KEY,'enable_ipv6')
対象IPアドレスが属する省の経緯度を分析します。戻り値は省の経緯度です。
* | SELECT ip_to_province_geo(ip,'enable_ipv6')
ip_to_city(KEY,'enable_ipv6')
対象IPアドレスが属する都市を分析します。戻り値は都市の中国語名です。国外の都市の場合は英語名です。
* | SELECT ip_to_city(ip,'enable_ipv6')
ip_to_city_code(KEY,'enable_ipv6')
対象IPアドレスが属する都市のコードを分析します。戻り値は都市の行政区画コードです。中国の都市のみサポートされます。
* | SELECT ip_to_city_code(ip,'enable_ipv6')
ip_to_city_geo(KEY,'enable_ipv6')
対象IPアドレスが属する都市の経緯度を分析します。戻り値は都市の経緯度です。中国の都市のみサポートされます。
* | SELECT ip_to_city_geo(ip,'enable_ipv6')

IPセグメント関数

説明:
以下の関数におけるKEYパラメータはログフィールド(例えばip)を表し、その値はIPアドレスです。
なお、ip_subnet_min、ip_subnet_max、ip_subnet_range関数のフィールド値はサブネットマスク形式のIPアドレスです(例:192.168.1.0/24)。フィールド値が一般的なIPアドレスの場合は、concat関数を使用してサブネットマスク形式に変換する必要があります。

IPv4のみサポート

関数名
説明
例
ip_prefix
(KEY,prefix_bits)
対象IPアドレスのプレフィックスを取得します。戻り値はサブネットマスク形式のIPアドレスです。例えば192.168.1.0/24です。
* | SELECT ip_prefix(ip,24)
ip_subnet_min
(KEY)
IP 網セグメント内の最小 IP アドレスを取得します。戻り値は IP アドレスです。例えば192.168.1.0です。
* | SELECT ip_subnet_min(concat(ip,'/24'))
ip_subnet_max
(KEY)
IP 網セグメント内の最大 IP アドレスを取得します。戻り値は IP アドレスです。例えば192.168.1.255です。
* | SELECT ip_subnet_max(concat(ip,'/24'))
ip_subnet_range
(KEY)
IP 網セグメントの範囲を取得します。戻り値は Array 型の IP アドレスです。例えば["172.16.0.0","172.16.0.255"]です。
* | SELECT ip_subnet_range(concat(ip,'/24'))
is_subnet_of(KEY)
対象IPアドレスが特定のネットワークセグメント内にあるかどうかを判断します。戻り値はブール値です。
* | SELECT is_subnet_of('192.168.0.1/24', ip)
is_prefix_subnet_of(KEY)
対象ネットワークセグメントが特定のネットワークセグメントのサブネットであるかどうかを判断します。戻り値はブール値です。
* | SELECT is_prefix_subnet_of('192.168.0.1/24',concat(ip, '/24'))

IPv4およびIPv6をサポート

関数名
説明
例
ip_to_domain
(KEY)
対象IPアドレスが内部ネットワークアドレスか外部ネットワークアドレスかを判断します。内部ネットワークの場合はintranetを返し、外部ネットワークの場合はinternetを返し、不正なアドレスの場合はinvalidを返します。
* | SELECT ip_to_domain(ip)
ip_version(KEY)
IPアドレスのバージョンを取得します。戻り値はipv4またはipv6です。
* | SELECT ip_version(ip)

IP脅威検出関数

Tencentセキュリティ脅威インテリジェンスセンターのセキュリティ脅威情報に基づいて、指定されたIPが悪意のあるIPかどうかを判断します。
説明:
以下の関数におけるKEYパラメータはログフィールド(例えばip)を表し、その値はIPアドレスです。
検出はセキュリティ脅威情報のビッグデータに基づいており、その結果は該当IPが過去に悪意のある行動を行ったかどうかを示します(例えば、第三者システムへの攻撃注入を行ったことがあるか)。ただし、その結果は現在のログまたは現在のシステムにおいて必ず悪意のある行動が存在することを意味するものではありません。
関数名
説明
例
ip_threat(KEY)
IPが悪意のあるIPかどうかを判断し、返される結果は次のとおりです:
UNKNOWN:不明(脅威情報は検出されませんでした)。
SECURE:安全です。
SUSPICIOUS:不審です。
MALICIOUS:悪意があります。
* | SELECT ip_threat(ip)
ip_threat_tags(KEY)
不審および悪意のあるIPの脅威タグは、そのIPに存在する具体的な悪意のある動作を示し、返される結果は配列です。
* | SELECT ip_threat_tags(ip)
ip_threat_detail(KEY)
IP脅威検出の詳細は、返される結果がJSONです。例えば:
{
"reputation": "SECURE",
"tags": ["Tencent Business Scan"],
"extraInfo": {
"announcement": "This IP is the scanning IP for WeChat Official Accounts and Mini-Programs, which will regularly scan your data transmission to ensure smooth callbacks and stable services. If you detect scanning activities from this IP, please allow or whitelist it.",
"demo": "-",
"descibe": null,
"referer": "https://developers.weixin.qq.com/community/develop/doc/0000682a9aca4090cdfb008475b401"
},
"extraInfo_zh": {
"announcement": "このIPはWeChat公式アカウントおよびミニプログラムのスキャンIPです。定期的にお客様のデータ転送を検出し、コールバックの円滑性とサービス安定性を確保します。このIPからのスキャン行為を発見した場合は、許可またはホワイトリストへの追加を行ってください..."
"demo": "-",
"descibe": null,
"referer": "https://developers.weixin.qq.com/community/develop/doc/0000682a9aca4090cdfb008475b401"
}
}
ここで:
reputation:IPが悪意のあるIPかどうかを示し、内容はip_threat(KEY)と同じです。
tags:不審および悪意のあるIPの脅威タグです。内容はip_threat_tags(KEY)と同じです。
extraInfo:IPの詳細説明です。一部の安全(SECURE)なIPのみが備えており、その他のIPについてはTencentセキュリティ脅威インテリジェンスセンターでご確認ください。
extraInfo_zh:IP詳細説明の中国語版です。
* | SELECT ip_threat_detail(ip)

脅威タグの説明

一部の一般的な脅威タグとその意味は以下の通りです:
脅威タグ
意味
詳細説明
xx Exploit vulnerability
xx 脆弱性の悪用
このIPは特定の脆弱性を利用してユーザーに攻撃を仕掛けます。例えば、Weblogicの脆弱性を悪用します。
xx attack
xx 攻撃
このIPはユーザーに対して特定の種類の攻撃を実行したことがあります。例えば、CC攻撃やクレデンシャルスタッフィング攻撃などです。
xx Scanning
xx スキャン
このIPは特定の脆弱性を利用してユーザー資産をスキャンします。例えば、致远OAスキャン(Zhiyuan OA Scanning)です。
Brute force
ブルートフォース攻撃
このIPはユーザーシステムに対してパスワード試行行為を行っています。
Proxy seconds dial
プロキシ秒切り替え
代理:このIPはある時点でネットワーク上の不正業者によってプロキシIPとして使用されました。
秒拨:このIPはある時点でネットワーク上の不正業者が提供する秒拨IPリソースです(不正業者が家庭用ブロードバンドダイヤルアップを利用し、一定時間内に悪用目的で保持するIP)。
Environmental forgery
環境偽装
このIPは環境を偽造することで、サービスのセキュリティ検知を回避または欺瞞します。
Network traffic risk control
トラフィックリスク制御
このIPのトラフィックがトラフィックリスク制御ルールをトリガーしました。
group control
群制御
このIPのトラフィックソースは、群集制御プラットフォームまたはシステムに由来する可能性があります。

例

ここでは、IP関数をさまざまなシーンで使用したクエリと分析の例を紹介します。クエリと分析の操作を実行した後、適切な統計グラフを選択してクエリと分析の結果を表示することもできます。
説明:
以下の例におけるipはログフィールドです。
内網からではないリクエストの総数を統計します。
* | SELECT count(*) AS PV where ip_to_domain(ip)!='intranet'
リクエスト総数がトップ10の省份を統計します。
* | SELECT ip_to_province(ip) AS province, count(*) as PV GROUP BY province ORDER BY PV desc LIMIT 10
上記の結果にイントラネットからのリクエストが含まれており、これらのリクエストをフィルタリングしたい場合は、以下のステートメントを参照してください。
* | SELECT ip_to_province(ip) AS province, count(*) as PV where ip_to_domain(ip)!='intranet' GROUP BY province ORDER BY PV desc LIMIT 10
IPアドレスの緯度経度を統計し、クライアントの分布状況を確認します。
* | SELECT ip_to_geo(ip) AS geo, count(*) AS pv GROUP BY geo ORDER BY pv DESC
悪意のあるIPを統計し、各IPの脅威レベル、脅威タグ、アクセス回数を取得します。
* |
select
ip,
CASE WHEN ip_threat(ip)= 'SUSPICIOUS' THEN '疑わしい' WHEN ip_threat(ip)= 'MALICIOUS' THEN '悪意' END as "脅威レベル",
ip_threat_tags(ip) as "脅威タグ",
count(*) as "アクセス回数"
where
ip_threat(ip) = 'SUSPICIOUS'
or ip_threat(ip) = 'MALICIOUS'
group by
ip
order by
count(*) desc
limit
10000


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック