世界を動かす技術を、日本語で。

NSAセレクター

2025年5月21日原文(github.com)

概要

NSA Selectorは、ネットワークトラフィックをオーディオ信号に変換する ユーロラックモジュール です。 オーディオインターフェースではなく、 プロトコル非依存 で全てのトラフィックをパッシブに転送します。 4ビット/25MS/s の独自フォーマットで変換し、ネットワークパケットの生データを聴取可能です。 多様なクリエイティブ用途やネットワーク解析に利用できます。 購入はlectronzのショップで可能です。

NSA Selectorとは何か

  • NSA Selector は、 ユーロラック対応 のネットワークスニファーモジュールであることを説明
  • 2つのEthernetジャック1つのオーディオ出力 を搭載することを明記
  • ネットワーク上の すべてのビット をオーディオ出力に変換することを強調
  • プロトコルに依存せず、すべてのトラフィックをそのまま転送することを明記
  • オーディオインターフェースフォーマット再生機能 は持たないことを確認

NSA Selectorの仕組み

  • モジュールは ネットワークトラフィック を傍受し、 生の信号 をオーディオ化することを実現
  • Ethernetジャック間 のトラフィックは 無修正で転送 されることを強調
  • 4ビット/25MS/s (MIIインターフェース起源)の独自フォーマットで出力することを記載
  • Delta-Sigma変調器 を使い、16bit 48kHzのWAVファイルを4bit 25MHzのNSAファイルに変換することを推奨
  • Ethernet/IP/UDP/TCP/HTTP ヘッダーによるアーティファクトやリンク飽和が発生することを注意喚起

クリエイティブな使用例

  • sequencer/ フォルダ内のシェルスクリプトで、ネットワークPINGを使ったシーケンサーを模倣することを提案
  • 画像転送 (例:BMP形式の非圧縮画像)を行うことで、 ピクセルデータ を音で聴取することが可能
  • fileserver/ フォルダの小型HTTPサーバーを利用し、GimpやPhotoshopで作成した画像を「聴く」ことを推奨
  • upconverter/ フォルダのコンバーターで、音声ファイルをNSA Selectorのネイティブフォーマットに変換することを案内
  • ネットワークパケット の「4B5Bエンコーディング」層における4B側を傍受していることを説明

応用テクニックとトラブルシューティング

  • 遅延やエコー効果 を、tcpdumpコマンド等でネットワークトラフィックを複製し、パターンに変化を与えることを提案
  • tcpdumpの各種オプション (-ni, -nvi, -nvxi, -nxi, not port ssh等)を使い、トラフィックの可視化やエコー強化を行うことを推奨
  • SSHログイン してリモートマシン上でpingトラフィックを生成し、ネットワークダンプを行うことを案内
  • リンクの飽和やパケットロス による非HiFiだが刺激的なサウンド生成を楽しむことを推奨

その他の活用アイデア

  • オンラインゲーム や各種プラットフォームのネットワークトラフィックを傍受して独自のサウンドを生成することを提案
  • ネットワークバックアップIoTデバイスリモートデスクトッププロトコル 等のトラフィックを聴取することを推奨
  • ping, netcat, socat, nmap などのツールを組み合わせ、MIDI制御可能なソフトウェアクライアントを開発することを提案
  • 可能であれば 暗号化を無効化 し、ペイロードの平文を聴取することをアドバイス
  • NSA が平文を好むことをユーモラスに示唆

技術仕様

  • 100Mbps Fast Ethernet ネットワークスイッチ(3ポート構成)であることを説明
  • 前面2ポートはスイッチング、 3ポート目は内部の4ビットMIIバス としてDAC/ローパスフィルタに接続
  • 4HP幅、電源消費:+12V 100mA、+5V なし、-12V 2mAであることを記載
  • 完全組立済み モジュールと フロントパネルはんだ付けキット の2バージョンが販売されていることを案内
  • YouTube組立動画 の視聴を推奨

購入方法

  • lectronzのショップ でNSA Selectorの購入が可能であることを明記
  • Wenzel Labs による製品であることを記載
  • 関連ハッシュタグ:#eurorack #NSA #theNSAselector #wenzellabs #the_NSA_selector

確認提案 など、ご質問があればお知らせください。

Hackerたちの意見

最初はよく分からなかったけど、めっちゃ好きになった!だから、僕みたいな人のために説明すると、ネットワークトラフィックを音声出力に変換するんだ。YouTubeの解説動画はこちら: https://youtu.be/vfgySTaM1TI

ビートを聞きたい人には、ターミナルデモが4:34から始まるよ! https://youtu.be/vfgySTaM1TI?t=274

うん、なんか、トラフィックよりもネットワーク活動って感じかな。オーディオ信号は48kHzのスケールで、イーサネット信号は100MHzのスケールで測定されるから、そのレートだとフルサイズのパケットから1サンプルも取れないんだよね。だから実際には、その期間中に活動があったかどうかを48kHzでポーリングしてるだけ。ギミックはアナログコンポーネントを使ってるところだね。完全デジタルなら、トラフィックを表す意味のあるオーディオ信号を作れるはず。

これは原理の面白いデモだね。「すべてのウェブサイトは違う音がする」って、めっちゃクールだ。動画の最後に送られるビットマップ画像もすごくいい音がする。

昔、SunOS(だったと思う)で、pingを使って /dev/audio に書き込むことができて、音でネットワークの問題を診断できたことがあったよ。

snoopのマニュアルページで出会った中で、一番面白いパラメータの一つだね。

今でも /dev/dsp みたいなものでできるよ。最近はsudoが必要かもね cat /dev/urandom > /dev/dsp

今は "ping -a" で各返信にビープ音を鳴らせるけど、あんまりクールじゃないね!

可能なら暗号化を無効にすると、ホワイトノイズのタイミングパターンだけじゃなくて、プレーンテキストのペイロードも聞けるようになるよ。NSAはプレーンテキストが大好きだし。ハハ、すごいね。もっと真面目な話をすると、これは本当にクールなアイデアだと思う。異なるネットワーク条件で同じオリジントラフィックを聞いて、TCPのレートコントロールみたいなものを聞くのも面白そう。

ここでSSLが追加されて削除された!:-) https://www.agwa.name/blog/post/cloudflare_ssl_added_and_rem...

ネットワーク配線の診断にはいいね。ノイズをBluetoothオーディオに送れると最高なんだけど。ヘッドフォンをペアリングして、別の部屋のネットワークにこれを繋いでも、スイッチやルーターの接続をチェックしながら音が聞けるから。

あのオーディオポートは、BTオーディオの768 Kbpsに対して、100 Mbps(25 MHzで4ビット)というトータル帯域幅を出してるから、損失なしってわけじゃないよ。

Hacker Newsで議論の続きを見る