パッシブ Ethernet タップを作る
(blog.lvmbdv.dev)- スマート TV のアイドル時トラフィックを自分で確認するため、39ユーロの Throwing Star LAN Tap の代わりに、RJ45 ブレークアウトボードとミニブレッドボードでパッシブ Ethernet タップを再現
- このタップはルーターと対象機器の間にインラインで挿入し、信号を2つの モニターポート にコピーするもので、電源・ソフトウェア・設定なしで動作
- J1-J2 は8ピン直結のパッチケーブルのようにし、J3・J4 は双方向の TX ペアをそれぞれモニター機器の RX ペアへ送り、トラフィックの向きを分けて観察
- モニターポートの未使用ペアに 220 pF コンデンサー2個を入れて Gigabit オートネゴシエーション を妨げ、リンクを 100 Mbps に落として 100BASE-TX の2ペアだけをタップ
- スマート TV のテストでは7.5分間で2,769パケット、平均 14 kbps をキャプチャし、CRC エラーなしで 100 Mbps リンクが維持され、実験用のパッシブタップとして十分に動作
ブレッドボードで作ったパッシブ Ethernet タップ
- Throwing Star LAN Tapを見て、スマート TV がどれほど通信しているか確認しようとしたが、39ユーロを払う代わりに ミニブレッドボード版の複製 を作成
- パッシブ Ethernet タップは、対象機器とルーターの間に置くシンプルなインライン装置
- 信号を2つの追加モニターポートへコピーする
- 物理的にトラフィックを再注入できない
- 電源、ソフトウェア、設定は不要
- モニターポートは 受信専用 のため、誤ってネットワークに DoS を引き起こす可能性が低い
-
配線と 100 Mbps への強制
- タップには RJ45 ジャックが4つある
- J1 はコンピューター、J2 はルーターに接続
- J1 と J2 はピンごとに直結され、電気的にはパッチケーブルのように動作する
- J3 はコンピューターからルーターへ向かうトラフィックをモニタリングする
- J1 の TX ペアであるピン 1・2 を、J3 の RX ペアであるピン 3・6 へ送る
- J4 は反対方向のトラフィックを担当する
- J2 の TX ペアを J4 の RX ペアへ送る
- J3 と J4 のピン 1・2 は浮かせたままにし、モニタリング用コンピューターが送信できないようにする
- 220 pF のセラミックコンデンサー2個が、モニタージャックの未使用ペアをブリッジする
- C1 は J3 のピン 4-5、C2 は J4 のピン 7-8 に接続される
- このコンデンサーが青色・茶色ペアでの Gigabit オートネゴシエーション を崩し、リンクを 100 Mbps へ低下させる
- 100 Mbps Ethernet は4ペア中2ペアだけを使い、この構成はまさにその2ペアをタップする
- Gigabit でネゴシエーションされると、データが4ペア全体に分散し、このタップでは観察しにくくなる
製作とキャプチャ結果
- 元の Throwing Star LAN Tap はカスタム PCB を使うが、この製作では RJ45 ブレークアウトボード4個、コンデンサー2個、ミニブレッドボードで構成
- インライン経路はブレッドボード片側で J1-J2 間を8本のワイヤーで直結
- モニター用タップはインライン経路から分岐する
- J3 は J1 のピン 1・2 から J3 のピン 3・6 へジャンパーを接続
- J4 は J2 のピン 3・6 から J4 のピン 3・6 へ接続
- コンデンサーはモニタージャックの未使用ペアを直接ブリッジ
- ブレッドボードの寄生成分が信号を壊すのではないかという懸念があった
- 100BASE-TX は 125 MHz で動作する
- ブレッドボードの隣接行間の寄生容量は通常 2-5 pF で、インピーダンスも整合していない
- インラインのワイヤーが短いため、信号は問題なく維持された
- プロダクションネットワークでブレッドボードを使うのは難しいが、パッシブタップの実験には十分に動作する
- スマート TV とルーターの間にタップを入れ、デスクトップをモニターポートに接続してキャプチャ
- 最初の7.5分間で 2,769パケット、平均 14 kbps が観察された
- アイドル状態のスマート TV は主に制御トラフィックと機器探索トラフィックだけを送る
- TV は5分未満の間に
239.255.255.250へ SSDP NOTIFY パケットを877回送信 - IPv4 と IPv6 の両方で同じサービスと同じ通知を mDNS でブロードキャスト
- 別サブネットのスマート機器
192.168.3.7は、ブロードキャストフレーム34個をバーストで送信 - ルーター
192.168.2.254はすべてに IGMP クエリで応答
- 全 2,769 フレームで CRC エラーは0件 で、リンクライトは 100 Mbps で安定して維持された
- USB Ethernet アダプターが届けば、実際のノート PC のトラフィックもタップできる
1件のコメント
Lobste.rs のコメント
設定可能なスイッチがあるなら、こうした用途向けにポートミラーリングをサポートしている可能性はかなり高いです
自作したくないなら、そのほうが簡単な方法です
少なくともコンシューマー向けの管理型スイッチは見たことがありません
こういうプロジェクトの肝はキャプチャに見えるので、パケットキャプチャの部分がもっと強調されていたらよかったと思います
私のスマート TV も待機状態で、mDNS と SSDP 以外に不要なトラフィックを大量に発生させます
まだノート PC 用の USB Ethernet アダプターがないので、デスクトップと TV の間に挟んで使う構成はかなり不便でした
アダプターが届いたら、その部分に焦点を当てた、もっと面白い記事を書くことになりそうです
もっと安く、もっと雑な方法としては、パンチダウン式キーストーンジャックを 2 つ使って同じことができます
https://janitha.com/articles/passive-splice-network-tap/
ネットワークを学んだとき、各 Ethernet ポートの送信側を他のすべてのポートの受信側へブロードキャストするよう構成された Ethernet ハブがある、と習った記憶があります
これなら中間くらいにはなるのでは、と思います
もちろん、そんな原始的なハブを実際に見たことはありません。私が若すぎるだけかもしれませんが…
当然ながら衝突に弱く、あまり信頼できるものではありません
買ったことはありませんが、この動画で中身を見ました: https://youtu.be/QgrVVyIzecM?t=266
おかげで自分が年を取ったと感じます ;-)
それ以降は衝突リスクが大きすぎる問題になったのだと思います