2015年4月25日土曜日

ettcp を使って簡易ネットワークスループット測定 ( Linux )

Linux で、簡易的にネットワークのスループットを測定する方法。
ettcp を使います。

1. ettcp のソースコードをダウンロード

ettcp (enhanced ttcp) からダウンロード。

2. ビルドしてインストール

$ tar zxvf ettcp-1.0.tar.gz 
$ cd ettcp-1.0/
$ make

# make install

3. 計測

Ether フレームサイズ 1518 バイトの UDP パケットを 10000 個送信して測定する場合の例。
192.168.10.10 から 192.168.10.20 にパケットを送信しています。
UDP のデータサイズ 1472 バイトを小さくしていくと、スループットは落ちていきます。
この例だと、11 MBps (11x8 = 88 Mbit/sec) ってことになります。

送信側

$ ettcp -t -u -l 1472 -s 192.168.10.20 -n 10000 -f m

ttcp-t: buflen=1472, nbuf=10000, align=16384/0, port=5001  udp  -> 192.168.10.20
nttcp-t: socket
nttcp-t: 14720000 bytes in 1.60 real seconds = 70.01 Mbit/sec +++
nttcp-t: 10006 I/O calls, msec/call = 0.16, calls/sec = 6237.51
nttcp-t: 0.0user 1.0sys 0:01real 66% 0i+0d 236maxrss 0+2pf 0+11827csw

受信側

$ ettcp -r -u -s -f m

ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  udp
nttcp-r: socket
nttcp-r: 14703808 bytes in 1.60 real seconds = 69.92 Mbit/sec +++
nttcp-r: 9991 I/O calls, msec/call = 0.16, calls/sec = 6227.42
nttcp-r: 0.0user 1.5sys 0:01real 97% 0i+0d 234maxrss 0+0pf 104+14csw

■ 計測例追記

Ether フレームサイズ 1518 バイトの UDP パケットを 10 秒間送信して測定する場合の例。

送信側

$ ettcp -t -u -l 1472 -s 192.168.10.20 -i 10 -f m

受信側は上の例と同じ。

● ettcp, スループット, 測定, 計測, 簡易, UDP, throughput, rate, packet, frame, ether

2015年2月1日日曜日

Windows7 で、MTU 設定を変更する

Windows7 で、MTU 設定を変更する方法。
USB-Ether 変換コネクタを PC に挿して、その MTU を変更した時の例 (ローカル エリア接続 2)。
普段、変更する必要は全く無いが、必要な時があったのでメモ。

まず、現在の設定を確認。Idx の値を取得。ローカル エリア接続 2 を変更したいので、Idx = 13。

# netsh interface ipv4 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
 10          10        1500  connected     ローカル エリア接続
 13          10        1500  connected     ローカル エリア接続 2

MTU = 1300 に変更してみる。第 5 引数に Idx = 13 を指定。

# netsh interface ipv4 set interface 13 mtu=1300
OK

設定確認 (後で戻すのを忘れずに)。

# netsh interface ipv4 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
 10          10        1500  connected     ローカル エリア接続
 13          10        1300  connected     ローカル エリア接続 2

● Windows7, Windows 7, Windows, MTU, LAN, 変更, 設定, netsh

2015年1月25日日曜日

Windows7 で簡単に既定のブラウザを切り替えるフリーソフト BrowserTraySwitch (タスクトレイ常駐)

メインのブラウザは、Firefox を使っているのですが、会社でどうしても IE を使わないと不便なことがあって、
簡単に切り替えられんもんかな、と探してみたら、良いフリーソフトが見つかりました。


タスクトレイ常駐型で、現在のデフォルトで設定されているブラウザアイコンが表示されます。
切り替えも簡単ポイ。

BrowserTraySwitch

● Windows, 7, 既定, ブラウザ, 簡単, 切り替え, フリー, ソフト, アプリ, BrowserTraySwitch, タスクトレイ, デフォルト

2015年1月10日土曜日

HP Stream 11 に Ubuntu 14.04 LTS (64bit) をインストール

セカンドマシン Lenovo IdeaPad U150 を購入して 4 年。
そろそろ、買い替えの時期ということで、HP Stream 11 に乗り換えました。
IdeaPad に Ubuntu を入れた時のメモは下記。
まさおのブログ (表): Lenobo IdeaPad U150 に Ubuntu 10.04 LTS をインストール
我が家初! の Windows8 マシンでしたが、早速 Ubuntu 14.04 LTS (64bit) をインストール! (笑)

■ HP Stream11 のスペック

OSWindows8.1
CPUIntel Celeron N2840 2.16 GHz 2 Core, 2nd cache memory 1MB
RAM2GB DDR3
Strage32GB eMMC
LCD11.6 inches wide HD anti-glare 1366x768
WirelessIEEE802.11b/g/n、Bluetooth4.0
PortUSBx2, HDMI, SD, Audio
価格31,104 円 (送料、消費税込み)

1. まず、Windows8.1 で、最低限の動作確認をしておく

LCD、キー、タッチパッド、無線LAN、スピーカ の動作確認。
特に問題なし。
(それにしても、Windows8.1 の GUI の使いにくさったら...。)

2. Ubuntu 14.04 LTS (64bit) インストーラの準備

Unetbootin を使って、
USB-microSD にインストーラをインストール。

3. Ubuntu 14.04 LTS (64bit) をインストール

Stream 11 で、Startup Menu (BIOS) を表示するのは、起動中に ESC キーを押下。
その後、[F9] Boot Device Options を選択。
インストール設定の説明は省略 (ガイドに従ってください)。

4. パーティション設定

パーティション設定については、下記のようにしました。
UEFI boot 対応なので、UEFI 用のパーティションを 256MB 切りました。
/ (ルートパーティション) に 8192 MB
swap 2048MB
/home 残りすべて

5. Wi-Fi Chipset 設定

Wi-Fi Chipset は Realtek RTL8723BE が搭載されています。
Ubuntu 14.04 LTS をインストールしただけでは認識してくれないので、ドライバを手動でインストールします。
有線 LAN コネクタが、これまた付いていないので、Wi-Fi が使えるようになるまでは、USB-Ether アダプタを接続してインターネットに接続します。

まずはパッケージの更新。

# apt-get update
# apt-get upgrade

ドライバのダウンロードの前に、git をインストール。

# apt-get install git

RTL8723BE ドライバソースのダウンロード。

$ git clone http://github.com/lwfinger/rtlwifi_new.git/

ビルド、インストール。
RTL8723BE 以外の Realtek ドライバもインストールされます。
kernel 更新時には再インストールが必要かも。

$ cd rtlwifi_new/
$ make

# make install

ドライバモジュールをロード (再起動する場合は、この作業不要)。

# modprobe rtl8723be

■ その他設定メモ

3 本指タップによる paste を有効化。

$ vi /usr/share/X11/xorg.conf.d/50-synaptics.conf
(synaptics の End Section の前に下記を追加)
Option "TapButton3" "2"

● Stream 11, HP, Ubuntu, 14.04, UEFI, インストール, install, RTL8723BE, Wi-Fi, WiFi, Realtek, 無線, LAN, Stream11

Ubuntu 14.04 LTS で、caps lock キーを ctrl キーに変更する

Ubuntu 14.04 (64bit) で、caps lock キーを ctrl キーに変更する方法
GUI で変更できなくなってた。

# vi /etc/default/keyboard
(下記を設定)
XKBOPTIONS="ctrl:nocaps"

● Ubuntu 14.04, ctrl, caps lock, 変更, 入れ替え, nocaps

2014年10月15日水曜日

Ubuntu で sudo の権限を与える

Ubuntu で、adduser で新規追加したユーザには sudo の権限がありません。
その追加方法メモ。
設定後、ログインし直す ( ← これ忘れない )

# gpasswd -a [USER_NAME] sudo

● Ubuntu, adduser, sudo, 権限, 新規, 追加

2014年7月5日土曜日

0xff でパディングされた任意のサイズのデータを作る ( dd )

いつか使う時のためにメモ。

1. まず、全データが 0xff の任意サイズのファイルを作る

tr を使って 0x00 を 0xff に変換。この例ではサイズ 100MB のファイルを作成。

$ dd if=/dev/zero bs=1M count=100 | tr "\000" "\377" > PADDED_FILE.bin

2. できたファイルに元ファイル ( INPUT_FILE.bin ) を流し込む

dd のオプション conv=notrunc を使う。

$ dd if=INPUT_FILE.bin of=PADDED_FILE.bin conv=notrunc

■ 参考
http://superuser.com/questions/274972/how-to-pad-a-file-with-ff-using-dd

● 0xff, 0xFF, pad, padding, パディング, 後ろ, 追加, 追記, dd, notrunc

2014年7月4日金曜日

GNU screen で取得したログを読みやすくする

GNU screen で取得したログには制御文字が含まれていて非常に読みにくい。
col で変換して、先頭文字を 11 文字分 cut。

col -bx < screenlog.n | cut -b 11-

● GNU, screen, cut, col, ログ, log, screenlog, 読めん, 読みにくい, 制御, 文字, コード

2014年5月5日月曜日

dd コマンドでバイナリデータを編集する方法

バイナリエディタの無い環境で、バイナリファイルを編集する方法。
echo と dd の組み合わせでいけます。

サンプルとして、あらかじめ、128 byte の All 0x00 データ (hoge.dat)を作っておきます。
このファイルの作り方については、まさおのブログ (表): 任意サイズのファイルを作る 参照。
hexdump で内容確認。

$ hexdump -Cv hoge.dat
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080

16 byte 目 (0x00000010) から 2 byte の 0x5A5A を書き込む例。
0x5A は ASCII の "Z" ですが、任意の 16 進数データを書き込むことができます。

$ echo -en '\x5A\x5A' | dd of=./hoge.dat bs=1 seek=16 conv=notrunc
2+0 records in
2+0 records out

$ hexdump -Cv hoge.dat
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  5a 5a 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |ZZ..............|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080

参考: http://blog.heartnet.me/2012/07/dd.html

● バイナリ, 編集, binary, edit, bvi, なし, editor, not use, dd, echo, hexdump, 修正, seek

2014年4月19日土曜日

Ubuntu コマンドで PDF ファイルを表示 ( evince )

Ubuntu のシェルからコマンドで PDF ファイルを表示する。
( Ubuntu 12.04 64bit で確認 )

標準では、evince というコマンドで。

$ evince hogehoge.pdf

evince は、マウスホイールで拡大縮小まではできるが、ドラッグで動かせない。
そんなときは、mupdf を使う。
ページの移動は PageUp、PageDown で。

$ mupdf hogehoge.pdf

● Ubuntu, pdf, PDF, ビューア, コマンド, evince