Posts

不審アクセス遮断

数日前に投稿した「半年間にわたる執拗な不審アクセスへの防衛措置」(https://sky.0t0.jp/retiredlog/posts/2026-02-21-0925/)の経緯報告(笑)

AWS東京リージョンを用いて、毎日 0:32、6:32、12:32 … といった等間隔の時刻に HEAD リクエストを試行し、コンテンツ更新を検知した場合に Tencent Cloud(UA: iPhone OS 13_2_3)からアクセスしてリンクを巡回・取得するという動作パターンが、継続して確認されている。

2026年2月20日から2月24日までの5日間、これらのアクセスを下記URLへ転送する処理を継続していた。

● 公衆に著しく迷惑をかける暴力的不良行為等の防止に関する条例の改正概要
https://www.pref.aichi.jp/police/syokai/houritsu/sekou-kaisei/shijo/h300101meiwakuboushijourei.html

日を追うごとにアクセス回数は増加し、昨日2月24日は24回に達した。
x.gdのLOG

一般的な感覚であれば、このような挙動は通常想定し難く、完全に機械化された嫌がらせと受け取られても不思議ではない。

そこで、本日午前0時をもって、ルーター側で PORT80 も国内IP限定に制限し、当面の間、完全排除を試みることにした。

CertbotのACMEチャレンジによるSSL証明書更新対策として、以下のようにcronを設定し、日曜深夜の3分間のみ PORT80 の国内限定を解除。
その間に certbot renew を実行する運用とした。

●ルータ-側
# PORT80を解放したiptablesをセット
59 0 * * 0 /mnt/data/sh/acme_iptable.sh > /dev/null 2>&1
# PORT80を国内限定としたiptablesをセット
2 1 * * 0 /mnt/data/sh/restore_iptable.sh > /dev/null 2>&1

●サーバー側
# PORT80を解放している間にcertbot renew
0 1 * * 0 sudo certbot renew –quiet » /home/pi/certbot.log 2>&1

最大の問題は、ログがほとんど残らなくなること。
この方針を維持できるかどうかは、それに耐えられるかにかかっている(笑)

養老-260221

三連休初日で暇だし、天気も良いのでいつものコース、薩摩カイコウズ街道。

少し霞んでるかな、黄砂や花粉で
養老公園

その後、養老で養老・・・
不眠でこれ以上の遠征は無理(笑)
養老SA
今日もスメタナ定食にした。
スメタナ定食
スメタナ定食最強!?
久々にまともな食事な感じ(笑)

ついでに、ひげまんじゅうの在庫確認。
ダークカラーの2体しか残ってない。
2000円近くするのにすごい人気だ。
そのうちキティを追い越すのでは?(笑)
ひげまんじゅう

キーホルダータイプのミニもある様だ。
ひげまんじゅう

帰路、背割堤を散歩。
ひげまんじゅう
肌を刺す強い日差し・・・
明日から夏か?!

それにしても三連休、鬱陶しいなあ!
まだ2日も休みとは・・・

半年間にわたる執拗な不審アクセスへの防衛措置

  1. 概要

本稿は、特定の外部主体が半年以上にわたり当サイトに対して行っている執拗な情報探索および脆弱性スキャンと見られる挙動を分析し、それに対して実施した技術的防衛策の内容と結果を記録するものである。

  1. 観測された不審アクセスの特性

当該主体によるアクセスには、一般的な正規ユーザーや検索エンジンクローラーには見られない、以下の特徴的なパターンが確認されている。

1)User-Agent の偽装

現代のブラウザシェアではほぼ使用例のない旧世代の特定UA(例:iPhone OS 13_2_3)を継続的に使用。

2)ソースIPの匿名化

複数のクラウドプラットフォーム(AWS、Tencent Cloud 等)のインフラを経由し、発信元を秘匿。

特に、AWS東京リージョンを用いて毎日 0:32、6:32、12:32 … といった等間隔の時刻に HEAD リクエストを試行し、コンテンツ更新を検知した場合に Tencent Cloud(UA: iPhone OS 13_2_3)からアクセスしてリンクを巡回・取得するという動作パターンが確認されている。

約2か月間、Webアクセスを国内限定に制限したが、制限解除後も同様のパターンが継続している。

以上の挙動から、通常の情報収集とは異なる継続的な探索・監視行為であると判断している。

  1. 防衛回路の設計(ポンポンスポポン・フィルタ)

いたちごっこを避けるため、相手側のリソース消費を誘発しつつ、当方の管理コストを最小化する「自律型バイパス回路」を構築した。

1)非効率な探索の無効化

存在確認目的と見られる HEAD リクエストに対しては、コンテンツを返さず 204 No Content を即時返却。
これにより、サーバーリソースおよびログ肥大化を抑制。

2)トラップ・リダイレクトの実装

上記の「指紋(例:13_2_3 等)」に合致するリクエストを検知した場合、外部短縮URL(x.gd)を経由し、以下の警察関連ページへ 301 Redirect で誘導する設計とした。

● 公衆に著しく迷惑をかける暴力的不良行為等の防止に関する条例の改正概要
https://www.pref.aichi.jp/police/syokai/houritsu/sekou-kaisei/shijo/h300101meiwakuboushijourei.html

  1. 運用実績(2026年2月20日)

システム稼働直後の観測結果は以下の通り。

警察関連サイトへのバイパス件数:13回(稼働初日)

効果:
自サーバー側に不要なログを蓄積させることなく、外部カウンターにより再試行回数を観測できる状態を構築した。

  1. 考察

半年以上にわたり継続されている当該アクセスは、時刻パターン・UA・クラウド経路の組み合わせにより、明確な特徴を持つ挙動として記録されている。

今後も、これらのノイズ的アクセスに対しては、技術的に「無害化」または「外部誘導」により処理し、運用負荷を最小限に抑える方針である。

——– 2026.02.23 追記———-
2026年2月23日 5:45現在、x.gdの総アクセス数は51件で、そのうち6件は自分が試験的にアクセスした分である。
したがって、付きまとい犯を県警に送付した回数の総計は45回となった。
今日(2026年2月23日 5:45現在)だけでも、既に5回の出頭が確認されており、今後も出頭回数が積み重なることが予想される。
罪を重ね、恥をさらす姿を見届けたい。

x.gdのログはグラフィカルで情報も豊富である。
x.gdのLOG

システム、オールグリーン。
これにて「沈黙の放置」フェーズ、完全移行です。

Metaクローラーによる全記事RSSおよびサイト構造の取得

  1. 観測事実

2026年2月19日、当サーバーにおいて meta-externalagent/1.1 による網羅的なアクセスを確認した。

User-Agent:
meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
※Meta Platformsが運用する、リンク共有およびコンテンツ把握用のクローラー。

  1. 主要な取得リソース

クローラーは、以下の主要なRSSフィード(XML)を取得し、サイトの全容をスキャンした。

・GET /retiredlog/posts/index.xml(ステータス:200、サイズ:255,996 byte)
・GET /weblog/posts/index.xml(ステータス:200、サイズ:2,520,979 byte)

これにより、当ブログに存在する全記事のリストおよび、短文記事についてはRSS内に含まれる全文データが取得されたものと判断される。

  1. アクセス・シーケンス(巡回の流れ)

当該クローラーは、一足飛びに全記事リストへ到達したわけではなく、以下のディレクトリおよびリソースを経由する構造探索プロセスを経て、最終的に全記事RSSへ到達している。

① 構造探索: /categories/, /tags/, /archives/ の各インデックス取得
② 階層巡回: /page/2/ 等のアーカイブページへの順次アクセス
③ 主要データ取得: 上記プロセス完了後、posts/index.xml の全件取得を実行

  1. ログ挙動に基づく技術的推測

ログに記録されたアクセスパターンから、以下の用途が推定される。

① SNS共有時のプレビュー生成:

FacebookやInstagram等のMetaサービス上でURLが投稿された際、OGP情報(タイトル、説明文、画像)を生成するための標準的なプレビュー取得。
RSSの取得は、複数のURLを効率的に把握する手段として機能する。

② インデックス作成およびキャッシュ構築:

投稿時の即時展開や、重複URLの検出、リンクの安全性判定をMeta側で一元管理するため、サイト内の全URLを事前に収集・リスト化するプロセス。

③ セキュリティ評価:

リンク先がマルウェア配布やフィッシングに関与していないかを、広範囲の巡回によって機械的に評価するセキュリティチェックの一環。

  1. 現時点での評価

以下の挙動は確認されていない。

・個別記事HTMLの異常な大量取得(全ページクロール)
・短時間での過剰なリクエスト送出によるサーバー負荷

したがって、現時点での挙動は 「Meta系共有クローラーによるサイト構造の把握およびRSSによるコンテンツ取得」 の範囲内であり、通常のクローラー挙動として評価できる・・・が、しかし
殆どアクセスのない自宅サーバーの個人サイトに対し、このように執拗な記事取得を試みようとするのは、ほぼ間違いなく去年7月から続く監視のようなアクセス絡みであると推測される。
記事全文を持って行ったのだから、これで満足するのだろうか。

以下、アクセスログ抜粋

57.141.2.67 - - [19/Feb/2026:07:03:05 +0900] "GET /retiredlog/categories/raspberry-pi-linux/index.xml HTTP/1.1" 200 103736 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.61 - - [19/Feb/2026:07:04:10 +0900] "GET /weblog/tags/index.xml HTTP/1.1" 200 4111 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.18 - - [19/Feb/2026:07:06:19 +0900] "GET /weblog/categories/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89%E7%8B%AC%E3%82%8A%E8%A8%80/index.xml HTTP/1.1" 200 991941 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.17 - - [19/Feb/2026:07:06:21 +0900] "GET /retiredlog/categories/%E6%97%A5%E5%B8%B8%E3%81%AE%E5%87%BA%E6%9D%A5%E4%BA%8B/page/2/ HTTP/1.1" 200 24676 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.46 - - [19/Feb/2026:07:06:57 +0900] "GET /retiredlog/categories/%E9%9B%91%E8%A8%98/page/2/ HTTP/1.1" 200 20281 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.8 - - [19/Feb/2026:07:08:00 +0900] "GET /weblog/Media/ALBUM/2007/07_08_13/ HTTP/1.1" 404 3842 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.17 - - [19/Feb/2026:07:08:07 +0900] "GET /weblog/categories/%E3%81%9D%E3%81%AE%E4%BB%96/index.xml HTTP/1.1" 200 8414 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.32 - - [19/Feb/2026:07:12:26 +0900] "GET /weblog/Media/ALBUM/2007/07_05_02/sent/070502.html HTTP/1.1" 404 3842 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.45 - - [19/Feb/2026:08:46:13 +0900] "GET /retiredlog/archives/index.xml HTTP/1.1" 200 4155 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.22 - - [19/Feb/2026:08:59:08 +0900] "GET /weblog/posts/2007-07-16-133720/4547479549174 HTTP/1.1" 404 3842 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.54 - - [19/Feb/2026:09:01:38 +0900] "GET /retiredlog/categories/index.xml HTTP/1.1" 200 5972 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.63 - - [19/Feb/2026:09:03:14 +0900] "GET /retiredlog/categories/%E6%97%A5%E5%B8%B8%E3%81%AE%E5%87%BA%E6%9D%A5%E4%BA%8B/index.xml HTTP/1.1" 200 25055 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.11 - - [19/Feb/2026:09:37:38 +0900] "GET /weblog/categories/raspberry-pi-linux/page/2/ HTTP/1.1" 200 73809 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.63 - - [19/Feb/2026:09:45:49 +0900] "GET /weblog/categories/%E6%97%A5%E8%A8%98/index.xml HTTP/1.1" 200 263980 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.2 - - [19/Feb/2026:09:47:10 +0900] "GET /weblog/categories/index.xml HTTP/1.1" 200 6914 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.51 - - [19/Feb/2026:09:52:33 +0900] "GET /weblog/categories/%E6%97%A5%E8%A8%98/page/2/ HTTP/1.1" 200 61389 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.15 - - [19/Feb/2026:10:01:56 +0900] "GET /retiredlog/tags/index.xml HTTP/1.1" 200 4125 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.38 - - [19/Feb/2026:10:13:38 +0900] "GET /retiredlog/categories/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E8%A6%B3%E6%B8%AC/index.xml HTTP/1.1" 200 46167 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.18 - - [19/Feb/2026:10:17:08 +0900] "GET /weblog/archives/index.xml HTTP/1.1" 200 4141 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.55 - - [19/Feb/2026:10:19:04 +0900] "GET /weblog/categories/%E4%BC%91%E6%97%A5%E3%81%AE%E9%A2%A8%E6%99%AF/page/2/ HTTP/1.1" 200 63434 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.11 - - [19/Feb/2026:11:25:20 +0900] "GET /retiredlog/posts/index.xml HTTP/1.1" 200 255996 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.25 - - [19/Feb/2026:11:43:56 +0900] "GET /weblog/categories/%E6%97%A5%E8%A8%98 HTTP/1.1" 301 3986 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.4 - - [19/Feb/2026:12:08:48 +0900] "GET /weblog/posts/index.xml HTTP/1.1" 200 2520979 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.17 - - [19/Feb/2026:13:03:26 +0900] "GET /weblog/categories/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89%E7%8B%AC%E3%82%8A%E8%A8%80/page/2/ HTTP/1.1" 200 56732 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.25 - - [19/Feb/2026:13:22:41 +0900] "GET /weblog/categories/%E9%9B%91%E8%A8%98/page/2/ HTTP/1.1" 200 70782 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"

この二つで全記事
57.141.2.11 - - [19/Feb/2026:11:25:20 +0900] "GET /retiredlog/posts/index.xml HTTP/1.1" 200 255996 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
57.141.2.4 - - [19/Feb/2026:12:08:48 +0900] "GET /weblog/posts/index.xml HTTP/1.1" 200 2520979 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"

古いiPhoneボットの挙動を観察

  1. はじめに

本日、検証のためにアクセス制限を一時的に緩和してみたところ、案の定(笑)、即座に反応がありました。
特定の古いiPhoneを装った複数のIPアドレスから、断続的なアクセスが開始されたのです。

ログを精査すると、そこには人間によるブラウジングとは明らかに異なる、「低速・分散型」のオートメーション(ボット)の興味深い挙動が浮き彫りになりました。

●特徴のサマリー

・HTMLのみ取得: 画像、CSS、JavaScriptなどのリソースは一切無視。
・10分間隔の一定ペース: WAFの検知を巧妙に避けるかのような、じれったい速度。
・IPの広域分散: クラウドプロキシなどを介した並列クロール。
・重複巡回: 履歴管理が甘く、同じページを短時間に何度も叩く傾向。

  1. ログ抜粋(代表例)

User-Agent(UA)に注目してください。
すべて iPhone OS 13_2_3 (Safari 604.1) で統一されています。
2026年の現在、この2019年リリースの古いOSがこれほど組織的に動くことは、実機ではまず考えられません。

43.159.145.153 - - [18/Feb/2026:10:34:52 +0900] "GET / HTTP/1.1" 200 5949 "http://223.133.180.219:80" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.153.107.22 - - [18/Feb/2026:10:42:37 +0900] "GET / HTTP/1.1" 301 566 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.153.107.22 - - [18/Feb/2026:10:42:38 +0900] "GET / HTTP/1.1" 200 5949 "http://sky.0t0.jp" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.159.144.16 - - [18/Feb/2026:10:43:06 +0900] "GET /docs/pacific.html HTTP/1.1" 200 6955 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.158.91.71 - - [18/Feb/2026:10:51:55 +0900] "GET /docs/router_article.html HTTP/1.1" 200 10176 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.167.157.80 - - [18/Feb/2026:11:02:20 +0900] "GET /docs/FireHOL_drop.html HTTP/1.1" 200 7854 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.130.150.80 - - [18/Feb/2026:11:13:42 +0900] "GET /weblog/ HTTP/1.1" 200 13159 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.157.150.69 - - [18/Feb/2026:11:28:00 +0900] "GET / HTTP/1.1" 200 5949 "http://223.133.180.219" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
170.106.107.87 - - [18/Feb/2026:11:33:02 +0900] "GET /retiredlog HTTP/1.1" 301 3866 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
170.106.107.87 - - [18/Feb/2026:11:33:06 +0900] "GET /retiredlog/ HTTP/1.1" 200 12127 "https://sky.0t0.jp/retiredlog" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
49.51.39.209 - - [18/Feb/2026:11:42:50 +0900] "GET /docs/read-only_system_disk.html HTTP/1.1" 200 9128 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.131.36.84 - - [18/Feb/2026:11:52:06 +0900] "GET /docs/files/router.pdf HTTP/1.1" 200 471243 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.159.149.216 - - [18/Feb/2026:12:02:50 +0900] "GET /weblog/posts/2025-05-03-153524/ HTTP/1.1" 200 8995 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.157.153.236 - - [18/Feb/2026:12:12:08 +0900] "GET /weblog/posts/2025-05-03-141114/ HTTP/1.1" 200 8326 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
170.106.65.93 - - [18/Feb/2026:12:22:47 +0900] "GET /retiredlog/posts/2026-02-08-0830/ HTTP/1.1" 200 9230 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.166.244.192 - - [18/Feb/2026:12:33:04 +0900] "GET /retiredlog/posts/mainroad-setup-260124/ HTTP/1.1" 200 7930 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
170.106.73.216 - - [18/Feb/2026:12:43:08 +0900] "GET /docs/read-only_system_disk.html HTTP/1.1" 200 9128 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.130.26.3 - - [18/Feb/2026:13:04:08 +0900] "GET /weblog/categories/%E4%BC%91%E6%97%A5%E3%81%AE%E9%A2%A8%E6%99%AF/ HTTP/1.1" 200 11354 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.159.143.139 - - [18/Feb/2026:13:13:22 +0900] "GET /weblog/posts/2025-05-03-123302/ HTTP/1.1" 200 8398 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
43.133.66.51 - - [18/Feb/2026:13:23:14 +0900] "GET /retiredlog/posts/2026-02-03-0640/ HTTP/1.1" 200 8412 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
170.106.192.208 - - [18/Feb/2026:13:33:01 +0900] "GET /retiredlog/posts/2026-02-01-0600/ HTTP/1.1" 200 8315 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
119.28.140.106 - - [18/Feb/2026:13:43:09 +0900] "GET /docs/read-only_system_disk.html HTTP/1.1" 200 9128 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
  1. テクニカルな観察ポイント

●User-Agentの「プリセット感」