標準フィールド
ほとんどの標準フィールドは、Wiresharkの表示フィールド ↗と同じ命名規則を使用しています。ただし、CloudflareとWiresharkの間にはいくつかの微妙な違いがあります。
-
Wiresharkは、IPアドレス範囲を等価比較で表現するためにCIDR(Classless Inter-Domain Routing)表記 ↗をサポートしています(例えば、
ip.src == 1.2.3.0/24)。Cloudflareはこれをサポートしていません。CIDR表記を使用してアドレスの範囲を評価するには、次の例のように
in比較演算子を使用します:ip.src in {1.2.3.0/24 4.5.6.0/24}。 -
Wiresharkでは、
sslはさまざまなタイプの他のフィールドを含むプロトコルフィールドであり、複数の方法で比較可能です。しかし、ルール言語ではsslは、クライアントからCloudflareへの接続が暗号化されているかどうかを示す単一のブールフィールドです。 -
Cloudflareのルール言語は、
slice演算子をサポートしていません。
Cloudflareのルール言語は、これらの標準フィールドをサポートしています。
http.cookie String
クッキー全体を文字列として表します。
例の値:
session=8521F670545D7865F79C3D7BEDC29CCE;-background=lighthttp.host String
完全なリクエストURIで使用されるホスト名を表します。
例の値:
www.example.orghttp.referer String
現在リクエストされているページにリンクしているウェブページのアドレスを含むHTTP Refererリクエストヘッダーを表します。
例の値:
Referer: https://developer.example.org/en-US/docs/Web/JavaScripthttp.request.full_uri String
ウェブサーバーによって受信された完全なURIを表します(#fragmentは含まれず、ウェブサーバーには送信されません)。
例の値:
https://www.example.org/articles/index?section=539061&expand=commentshttp.request.method String
HTTPメソッドを、大文字の文字列として返します。
例の値:
GEThttp.request.cookies Map<Array<String>>
リクエストに関連付けられたCookie HTTPヘッダーをマップ(連想配列)として表します。クッキーの値は事前処理されず、リクエストで使用された元のケースを保持します。
デコード: クッキー名はURLデコードされます。デコード後に同じ名前のクッキーが2つある場合、その値の配列はマージされます。
例:
any(http.request.cookies["app"][*] == "test")例の値:
{ "app": ["test"] }http.request.timestamp.sec Integer
Cloudflareがリクエストを受信したときのタイムスタンプを、Unix時間で秒単位で表します。この値は10桁の長さです。
ミリ秒のタイムスタンプを取得するには、http.request.timestamp.msecフィールドを使用します。
例の値:
1484063137HMACトークンを式で検証する際には、このフィールドをcurrentTimestamp引数としてis_timed_hmac_valid_v0()検証関数に渡します。
http.request.timestamp.msec Integer
Cloudflareがリクエストを受信したときのミリ秒を、0から999の範囲で表します。
完全なタイムスタンプを取得するには、http.request.timestamp.secとhttp.request.timestamp.msecの両方のフィールドを使用します。
例の値:
857提供された行のフォーマットされた情報は次のとおりです:
http.request.uri String
リクエストのURIパスとクエリ文字列を表します。
例の値:
/articles/index?section=539061&expand=commentshttp.request.uri.path String
リクエストのURIパスを表します。
例の値:
/articles/indexhttp.request.uri.path.extension String
ドット(.)文字を除いたURIパス内の小文字のファイル拡張子です。これは、クエリ文字列を除いたURIパス内の最後のドットの後の文字列に対応します。
最後のパスセグメントの最初の文字がドットであり、そのセグメントに他のドット文字が含まれていない場合、フィールド値は空の文字列("")になります。最初の文字がドットであることはファイル拡張子を表さず、UNIX系システムでは隠しファイルやディレクトリを示すために一般的に使用されます。
例の値:
- URIパスが
/articles/index.htmlの場合、フィールド値はhtmlになります。 - URIパスが
/articles/index.の場合、フィールド値は空の文字列("")になります。
例の値
| URIパス | フィールド値 |
|---|---|
/foo | "" |
/foo.mp3 | "mp3" |
/.mp3 | "" |
/.foo.mp3 | "mp3" |
/foo.tar.bz2 | "bz2" |
/foo. | "" |
/foo.MP3 | "mp3" |
http.request.uri.query String
?区切りなしの完全なクエリ文字列を表します。
例の値:
section=539061&expand=commentshttp.user_agent String
クライアントのオペレーティングシステムとウェブブラウザを識別するための特徴的な文字列を含むHTTP User-Agentリクエストヘッダーを表します。
例の値:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36http.request.version String
使用されるHTTPプロトコルのバージョンを表します。異なるバージョンに対して異なるチェックが必要な場合は、このフィールドを使用します。
例の値:
HTTP/1.1HTTP/3
http.x_forwarded_for String
完全なX-Forwarded-For HTTPヘッダーを表します。
例の値:
203.0.113.195, 70.41.3.18ip.src IP address
クライアントのTCP IPアドレスを表し、X-Forwarded-ForやX-Real-IPなどのHTTPヘッダーを使用してクライアントの実際のアドレスを反映するように調整される場合があります。
例の値:
93.184.216.34ip.src.lat String
クライアントIPアドレスに関連付けられた緯度を表します。
例の値:
37.78044ip.src.lon String
クライアントIPアドレスに関連付けられた経度を表します。
例の値:
-122.39055ip.src.city String
クライアントIPアドレスに関連付けられた都市を表します。
例の値:
サンフランシスコip.src.postal_code String
受信リクエストに関連付けられた郵便番号を表します。
例の値:
78701ip.src.metro_code String
受信リクエストに関連付けられたメトロコードまたは指定市場地域(DMA)コードを表します。
例の値:
635ip.src.region String
受信リクエストに関連付けられた地域名を表します。
例の値:
テキサスip.src.region_code String
受信リクエストに関連付けられた地域コードを表します。
例の値:
TXip.src.timezone.name String
受信リクエストに関連付けられたタイムゾーンの名前を表します。このフィールドは、Transform Rulesのリライト式でのみ利用可能です。
例の値:
America/Chicagoip.src.asnum Number
クライアントIPアドレスに関連付けられた自律システム(AS)番号を表す16ビットまたは32ビットの整数です。
このフィールドは、非推奨のip.geoip.asnumフィールドと同じ値を持ちます。ip.geoip.asnumフィールドは新しいルールと既存のルールの両方でまだ利用可能ですが、代わりにip.src.asnumフィールドを使用することをお勧めします。
ip.src.continent String
クライアントIPアドレスに関連付けられた大陸コードを表します:
- AF: アフリカ
- AN: 南極
- AS: アジア
- EU: ヨーロッパ
- NA: 北アメリカ
- OC: オセアニア
- SA: 南アメリカ
- T1: Torネットワーク
このフィールドは、非推奨のip.geoip.continentフィールドと同じ値を持ちます。ip.geoip.continentフィールドは新しいルールと既存のルールの両方でまだ利用可能ですが、代わりにip.src.continentフィールドを使用することをお勧めします。
ip.src.country String
ISO 3166-1 Alpha 2 ↗形式の2文字の国コードを表します。
例の値:
GBISO 3166-1 Alpha 2形式の詳細については、WikipediaのISO 3166-1 Alpha 2 ↗を参照してください。
このフィールドは、非推奨のip.geoip.countryフィールドと同じ値を持ちます。ip.geoip.countryフィールドは新しいルールと既存のルールの両方でまだ利用可能ですが、代わりにip.src.countryフィールドを使用することをお勧めします。
ip.src.subdivision_1_iso_code String
IPアドレスに関連付けられた第一レベル地域のISO 3166-2コードを表します。実際の値が利用できない場合、このフィールドは空の文字列を含みます。
例の値:
GB-ENGISO 3166-2標準および利用可能な地域の詳細については、WikipediaのISO 3166-2 ↗を参照してください。
このフィールドは、非推奨のip.geoip.subdivision_1_iso_codeフィールドと同じ値を持ちます。ip.geoip.subdivision_1_iso_codeフィールドは新しいルールと既存のルールの両方でまだ利用可能ですが、代わりにip.src.subdivision_1_iso_codeフィールドを使用することをお勧めします。
ip.src.subdivision_2_iso_code String
IPアドレスに関連付けられた第二レベル地域のISO 3166-2コードを表します。実際の値が利用できない場合、このフィールドは空の文字列を含みます。
例の値:
GB-SWKISO 3166-2標準および利用可能な地域の詳細については、WikipediaのISO 3166-2 ↗を参照してください。
このフィールドは、非推奨のip.geoip.subdivision_2_iso_codeフィールドと同じ値を持ちます。ip.geoip.subdivision_2_iso_codeフィールドは新しいルールと既存のルールの両方でまだ利用可能ですが、代わりにip.src.subdivision_2_iso_codeフィールドを使用することをお勧めします。
ip.src.is_in_european_union Boolean
リクエストが欧州連合(EU)の国から発信された場合、trueを返します。
EUの国(地理情報データから)
| 国コード | 国名 |
|---|---|
AT | オーストリア |
AX | オーランド諸島 |
BE | ベルギー |
BG | ブルガリア |
CY | キプロス |
CZ | チェコ |
DE | ドイツ |
DK | デンマーク |
EE | エストニア |
ES | スペイン |
FI | フィンランド |
FR | フランス |
GF | フランス領ギアナ |
GP | グアドループ |
GR | ギリシャ |
HR | クロアチア |
HU | ハンガリー |
IE | アイルランド |
IT | イタリア |
LT | リトアニア |
LU | ルクセンブルク |
LV | ラトビア |
MF | サン・マルタン |
MQ | マルティニーク |
MT | マルタ |
NL | オランダ |
PL | ポーランド |
PT | ポルトガル |
RE | レユニオン |
RO | ルーマニア |
SE | スウェーデン |
SI | スロベニア |
SK | スロバキア |
YT | マヨット |
EUの国リストは、2023年12月5日にMaxMindのGeoIP2データベースから取得されました。最新の国情報を取得する方法については、MaxMindのウェブサイト ↗を参照してください。
このフィールドは、非推奨の ip.geoip.is_in_european_union フィールドと同じ値を持っています。ip.geoip.is_in_european_union フィールドは新しいルールと既存のルールの両方でまだ利用可能ですが、代わりに ip.src.is_in_european_union フィールドを使用するべきです。
raw.http.request.full_uri String
http.request.full_uri の非生フィールドに似ています。URIフラグメント(ある場合)なしで、変換なしにウェブサーバーによって受信された完全なURIを表します。
注意: この生フィールドには、CloudflareのHTTPサーバーによって行われた基本的な正規化が含まれる場合があります。ただし、これは将来的に変更される可能性があります。
raw.http.request.uri String
http.request.uri の非生フィールドに似ています。変換なしでリクエストのURIパスとクエリ文字列を表します。
注意: この生フィールドには、CloudflareのHTTPサーバーによって行われた基本的な正規化が含まれる場合があります。ただし、これは将来的に変更される可能性があります。
raw.http.request.uri.path String
http.request.uri.path の非生フィールドに似ています。変換なしでリクエストのURIパスを表します。
注意: この生フィールドには、CloudflareのHTTPサーバーによって行われた基本的な正規化が含まれる場合があります。ただし、これは将来的に変更される可能性があります。
raw.http.request.uri.path.extension String
http.request.uri.path.extension の非生フィールドに似ています。変換なしでリクエストURIパスのファイル拡張子を表します。
raw.http.request.uri.query String
http.request.uri.query の非生フィールドに似ています。? デリミタなしで、変換なしに全体のクエリ文字列を表します。
注意: この生フィールドには、CloudflareのHTTPサーバーによって行われた基本的な正規化が含まれる場合があります。ただし、これは将来的に変更される可能性があります。
ssl Boolean
クライアントへのHTTP接続が暗号化されている場合、true を返します。
GeoIPはMaxMind, Inc.の登録商標です。