kimagre inrash

感想を書きます

Raspberry Pi 3 でパケット遅延器を作る(有線-無線ブリッジ)

time 2018/01/21

パケットの実験

パケットの帯域制限や遅延の実験がしたくなったのでいろいろ調べる。

WindowsPCを経由させれば、簡単にできそう。

ウチのPCには有線LAN接続できるものがなかったので以下のLANアダプタを購入。
Amazonで買おうと思っていたけれど、ちょうど売り切れていたのでヨドバシで買いました。

購入するが・・・

購入してきたのでPCに繋いでブリッジ接続。
接続自体は簡単に出来ました。
で、パケット遅延ソフトを探す。
上記を参考に試してみたもののうまく起動できず。
capture1050.jpg
以下のエラーが起動時に発生。
Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。
************** 例外テキスト **************
System.BadImageFormatException: 間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外: 0x8007000B)
   場所 wlinee.wlinee.InitializeLinee()
   場所 wlinee.wlinee.Form1_Load(Object sender, EventArgs e)
   場所 System.Windows.Forms.Form.OnLoad(EventArgs e)
   場所 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   場所 System.Windows.Forms.Control.CreateControl()
   場所 System.Windows.Forms.Control.WmShowWindow(Message& m)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 読み込まれたアセンブリ **************
mscorlib
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.8825 (WinRelRS3.050727-8800)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
—————————————-
wlinee
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 1.0.0.0
というわけで別のソフトを探す。

他のソフトを試す

一応起動できて遅延は確認できたけど、
ブリッジ接続している端末から送ったものに関しては適用されていない模様。
いよいよWindowPCでこれらを扱うのが難しくなってきた。
というわけでLinux関連で調べ始める。
するとちょうどいい感じの記事発見。

Raspberry Pi 3を買いました

DT9NYjWXUAA-oVu.jpg large.jpg
買ったのは以下。

セットアップ

セットアップは上記を参考にやりました。
かなり簡単。
OSのセットアップていうと
CD-ROMとかDVD-ROMを入れて数時間てイメージだったけど
今時ネットワークでインストール出来るんですね。
私は有線でやりました。
DT9R1yFVMAAlDcw.jpg large.jpg

出来た

上記を参考にLANアダプタ指してやってみたところ、出来たっぽい。

eth0に100msの遅延を設定
$ sudo tc qdisc add dev eth0 root netem delay100ms

eth0に設定したものを解除

$ sudo tc qdisc del dev eth0 root

でもわざわざLANアダプタつけないといけないのは面倒だし、
せっかく小型なラズパイの邪魔だよね、ということで
無線LANと有線LANのブリッジ接続を試す。

無線LANと有線LANのブリッジ

元々搭載されている有線LANをルータ側、
無線LANはアクセスポイントとして
ラズパイ経由で外部ネットワークにいくイメージ。
上記サイトを参考に簡単に出来ました。
試しに100msの遅延を設定してiPhoneからラズパイアクセスポイントに接続してみると確かに遅延がついてました。
rp0000.jpgrp0100.jpg

目的達成

最後にSSHとVNCを有効にして完了。
SSH は TeraTerm 使ってます。
VNC はいろいろあって訳がわからなかったけど、
RealVNC のビューワにしました。
RealVNCで接続したときに画面解像度がVGA(640×480)になってしまったけど、
設定から変更できました。

まとめ

rp3.jpg
今まで興味はあったけど、いざ使おうとなると何しようかなと考えてしまって保留状態だったRaspberryPi。
今回たまたまではあるけど、軽く触ってみてかなりいい感じのマシンということが判明。
マシンもいいですが、ネット上に資料がたくさんあるので解決までの時間が早いのもいいところ。
また何か作りたくなったら買ってみます。
2018年11月
« 10月    
 123
45678910
11121314151617
18192021222324
252627282930  

カテゴリー

アーカイブ