Q&A
解決済み

テザリングの通信を区別する仕組み

キャリアがどのようにテザリング通信を判別しているかの技術的な仕様を知りたいです。

テザリングって、単にスマホがルータ機能を使ってWiFiやUSBなどでネットワークを共有する仕組みだと思っていたのですが、テザリングオプションがOFFだとできないようです。
また、auデータMAXプランなどはデータ通信無制限といってもテザリングは2GBまでに制限されているようです。

ということは、キャリア網側でテザリングかどうかを区別して、通信を許可したり通信量をカウントしていると思われるのですが、技術的にはどのような仕組みで区別しているのでしょうか?

OSがアプリからの通信かテザリングでの通信かでなにか区別をするIPヘッダなどをつけているのでしょうか?
Androidなどは昔、本体にテザリング機能がない機種でもテザリングができるようなアプリがありましたが、この場合アプリが通信しているのでテザリングオプションがなくてもテザリングができてしまうとかはないでしょうか?

もしなにか知っている人がいたらよろしくおねがいします。

ベルりん
マスター

ばななめろんさんのコメント

BlackBerry KEY2(その他) medal ベストアンサー獲得数 79 件

>>16 ベルりんさん

> ・TTLを調べる
> TCP/IPのTTLはルータを通ると-1されるので、端末が付与するTTLと
> 異なるTTLをもっていたらテザリングされているというもの。
> これも送信元がTTLを変えて送信すれば区別できないし抜け道が
> ありそうですね。

それをやってしまうとそもそも TTL(本来は通信のポイントtoポイントで経由するルート、および途中経路で伝送しているパケット情報の有効期限を判断するために仕様)が信頼できなくなるので。ある意味「送信元などを詐称しているのと同じ」事になってしまいます。

どちらにしてもいきなり「TTL=255」でキャリア側が受け取るような構成にはなっていないでしょうし、通信事業者内部でぐるぐる回しても遅延したりパケットロストの原因になるでしょう。
最近では Next hopを単純化したい、ってお話を仕事関係でとある通信会社から聞いたような気はします。(気がするだけ)

> ・MACアドレス検査
> これはよくわからない。。。特定の端末の特定の条件下ではくべつ
> できるだろうけど..
>(元投稿のコメントにもわからないとの意見が)

ご存知だと思いますが MACアドレスって適当に付与されているわけではないですし、上位6デジットの OUI(Organizationally Unique Identifier)逆引きすればどのメーカーが持っているデジットかを簡単に判断できます。
L2レベルでピアリングしてるような状況だと、場合によってはこれでフィルタリング出来る可能性はあると言えます。

●IEEE OUI一覧(非常に長いテキストです)
http://standards-oui.ieee.org/oui.txt
●IEEE OUI Search(ページの下に検索用バーがあります)
https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries

> ・TCP/IP Stack Fingerprinting

これは「TCP/IPプロトコルスタックに対してデジタル署名をしている場合に、その証文(PGP Figerprintかもしれませんが)を判断すれば、プロトコルスタックと機器メーカーの組み合わせが正しいか否か確認可能」ということでしょう。
でも、これもルーティングさせてしまえば分からなくなりますからね。

> ・Looking at the Destination IP/URL

これも判ると思いますが、本来通信すべき相手先の IP or ドメインを確認し、端末側が正しく通信するはずの IP or ドメインでないと判断される場合のことです。
ですが、これも PCサイトブラウザを使うと有耶無耶になります。

※但し、明らかに Microsoft Updateやら「端末がスマホで Windows
 Mobileも使ってないのにそこへ繋ぎに行くか?」と通信会社側が
 判断できれば、簡単にテザリングか否かは判断できますよね。

結局、本来接続されるはずであろう機器同士の接続区間(英語で書いてしまえば origin or source/destination)を監視すれば、ある程度は当てられるってことだと考えればよいのではないでしょうか?。
  • 20