2010年12月27日月曜日

リモート端末の OS をチェックする方法

リモート端末の OS をチェックする方法

1. nmap を使う方法

nmap -O -v localhost で試してみたけど、特定できなかったなぁ。

# apt-get install nmap
# nmap -O -v HOSTNAME

2. ping を使う方法

ping を実行すると、対象端末からの応答パケットから TTL 値が得られる。
OS によってデフォルトの TTL 値が異なるので、大体予想がつくらしい。

OSデフォルト TTL
Windows128
Linux64
Buffalo AirStation64 (でした)

TTL 値は、ルータを経由するたびに 1 減るので、デフォルト値に近ければ、その OS かもしれない。
数十個のルータを経由してくることは、まぁまれなので。
ちなみに Ubuntu でデフォルト TTL を変更する場合は、
/etc/sysctl.conf に net.ipv4.ip_default_ttl = XXX (XXX は任意) を追加すれば良い。
(あえて変更する必要性はない)

● nmap, OS finger print, default, TTL, 変更, デフォルト

2010年12月26日日曜日

wput - A wget-like ftp-uploader

ディレクトリ内のファイルすべてを FTP サーバにアップロードする場合、tar.gz でまとめてから、転送、解凍するのが一般的。
wput を使えば、一気にアップロードできます。
wget の反対コマンド。

■ インストール方法

Ubuntu の場合、パッケージ化されているので、apt-get でインストールできます。

# apt-get install wput

■ アップロード方法

$ wput DIRNAME ftp://USERNAME:PASSWORD@ftp.hogehoge.org/UPLOAD_DIR

● ftp, wget, wput, ディレクトリ, アップロード, 一度, directory, upload, 転送

2010年12月14日火曜日

Subversion svn コマンドメモ

たまに使う svn コマンドのメモ。

■ ログの出力量を抑制 ( 3 個出力する場合 )

$ svn log -v -l 3

■ リビジョン間の変更ファイル一覧を取得

$ svn diff -rREV1:REV2 --summarize  (変更ファイルの一覧を取得)

■ サブディレクトリをチェックアウトしない

$ svn co --depth=files REPOSITORY

■ ファイルだけチェックアウトする

$ svn co --depth=empty REPOSITORY
$ svn update --depth=files FILE_NAME

■ 実行権の設定

(追加)
$ svn propset svn:executable ON FILE_NAME

(削除)
$ svn propdel svn:executable FILE_NAME

■ バイナリ/テキスト 誤認識ファイルの設定変更

(確認)
$ svn propget svn:mime-type *

(テキスト→バイナリ)
$ svn propset svn:mime-type application/octet-stream *.pdf

(バイナリ→テキスト)
$ svn propset svn:mime-type text/x-tex hoge.tex
$ svn propdel svn:mime-type hoge.tex
$ svn commit -m ''

■ 今日の変更ログ表示

指定日の 00:00 時点のリビジョン情報も検索に含まれるため、当日以前に更新されたリビジョンのログも表示されるので注意。

$ svn log -r {"2010-12-14 00:00:00 +0900"}:HEAD

● Subversion, svn, コマンド, ファイル, のみ, だけ, チェックアウト, co

2010年12月13日月曜日

hMailServer ( Windows )

Windows 上で動くフリーの Mail サーバー
hMailServer
メモしておこう。
Linux でやるより手軽かも。

● Windows, Mail, IMAP, SMTP, POP, Free, フリー, hMailServer, メールサーバー

2010年12月11日土曜日

Lenobo IdeaPad U150 に Ubuntu 10.04 LTS をインストール

Ubuntu をインストールしていたセカンドマシン Dell Inspiron 5100 の調子がおかしくなってきたので、
ノート PC を買い換えました ( ポイントで )。
Ubuntu でしか使わないから、安いやつでいいやってことで、2 週間ぐらい検討した結果、
Lenobo IdeaPad U150 にしました。
Atom の Netbook じゃちょっとなぁ、i3,i5,i7 ノートはでかすぎ。
丁度良いサイズってことで、これに。
CPU: Intel Celelon SU2300 1.2GHz
RAM: 2GB DDR3×1 (Max 4GB)
HDD: 250GB
LCD: 11.6inch 1366×768ドット
無線: 802.11b/g
小ぶりながら、キーピッチも大きめで打ちやすいです。



この天板の素材とデザインがいまいちという意見もありますが、そこは全く気にならない。
中身が重要。
裏蓋を開けると HDD、メモリ、PCI スロットに簡単にアクセスできるのが良いです。
早速、Ubuntu 10.04 LTS (32bit) をインストールしました。
64bit 版にするか悩んだんですが、ググると対応してないパッケージがあったりとか、
特別なんかしないといけない場合があるらしいとかあるようで、32bit 版にしときました。
32bit 版でも特に問題ないらしい。
今のところ、問題ないです。

以下、インストール時のメモです。

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

インストールしてある Windows7 を起動して、無線 LAN、有線 LAN、スピーカぐらいは、動作確認しておきます。
特に問題なし。

2. Ubuntu 10.04 LTS インストーラの準備

Lenobo IdeaPad U150 には、CD/DVD ドライブが搭載されていません。
USB メモリ等にインストーラを準備します。
今回は UNetbootin で、microSD にインストーラを入れ、
USB-microSD アダプタからブートしました。
UNetbootin から、直接 ISO イメージをダウンロードして、microSD に書くこともできますが、
途中で書き込み失敗とかもあり得るので、ISO イメージをあらかじめダウンロードしておきます。
Ubuntu Japanese Team
インストーラの作成に、ちょっと時間がかかります。

3. Ubuntu 10.04 LTS をインストール

USB-microSD アダプタ を PC に挿入し、起動時に BIOS の設定で (F12 か F2 キー)、USB-microSD アダプタから起動します。
一応、Windows7 も残しておきたかったので、デュアルブート設定にします。
パーティションは、Windows7 100GB、Ubuntu 100GB ぐらいに配分。
パーティション設定のときに、スライダーで簡単にパーティション設定ができます。
すばらしい。
あらかじめ、GNU parted とかでパーティション切り直さなくていいんだ (感涙)。
特にトラブルもなく、インストールできました。

4. 無線 LAN について

Lenobo IdeaPad U150 の無線 LAN は、Broadcom BCM4312 802.11b/g (rev 01) でした。
インストール直後は、動かなかったんですが、apt-get update すると、
ドライバのインストールウィンドウが出てきました。
Broadcom STA ドライバ を選択して、有効化すると使えるようになります。
Broadcom B43 Wireless Driver だと、つながったように見えるものの、通信できませんでした。


5. その他メモ

sfdisk と df の結果を貼り付けておきます。
リカバリ用のパーティションも保持されているようです ( たぶん )。
あとは自己責任でどうぞ。
( Windows7 は使わない、最悪リカバリできなくてもいいやってことでやってます )

# sfdisk -l
Disk /dev/sda: 30401 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+     25-     26-    204800    7  HPFS/NTFS
/dev/sda2         25+  12227-  12203-  98014471    7  HPFS/NTFS
/dev/sda3      12227+  28475-  16248- 130505729    f  W95 Ext'd (LBA)
/dev/sda4      28475+  30401-   1927-  15471800   12  Compaq diagnostics
/dev/sda5      24523+  28475-   3952-  31737856    1  FAT12
/dev/sda6      12227+  24018-  11791-  94706688   83  Linux
/dev/sda7      24018+  24522-    505-   4051968   82  Linux swap / Solaris

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda6             93219808   2767284  85717192   4% /
none                    958376       324    958052   1% /dev
none                    962592       184    962408   1% /dev/shm
none                    962592       116    962476   1% /var/run
none                    962592         0    962592   0% /var/lock
none                    962592         0    962592   0% /lib/init/rw

6. 最後に、起動の高速化設定等々。

あとは、以下のリンクから順番に設定していけば OK。
まさおのブログ (表): Ubuntu インストール後にする設定

Bootchart の結果は、19.23 秒。
実測で、電源 ON から 「 テケテン 」 まで 35 秒。

● Lenobo IdeaPad U150, 10.04 LTS, デュアルブート, Windows7, Ubuntu, パーティション, リカバリ

2010年12月2日木曜日

Ubuntu で VLAN

Ubuntu で VLAN 設定をするときのメモ。

■ (前準備) vlan パッケージをインストールする。

# apt-get install vlan

■ eth0 に VID=2 の VLAN を設定する場合。

WARNING が出るけど、これは気にしなくていい。
eth0.2 というインターフェイスが作成される。

# vconfig add eth0 2
WARNING:  Could not open /proc/net/vlan/config.
Maybe you need to load the 8021q module, or maybe you are not using PROCFS??
Added VLAN with VID == 2 to IF -:eth0:-

■ eth0.2 に IP アドレス 192.168.22.10/24 を付ける場合。

# ifconfig eth0.2 192.168.22.10 up
# ifconfig eth0.2
eth0.2    Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:192.168.22.10  Bcast:192.168.22.255  Mask:255.255.255.0
          inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:3996 (3.9 KB)

■ リオーダー設定をする場合。

デフォルトの 0 でも、大抵の場合は大丈夫なはず (未確認)。
パケットがうまくキャプチャできないときは設定してみる。

# vconfig set_flag eth0.2 1
Set flag on device -:eth0.2:- Should be visible in /proc/net/vlan/eth0.2

■ 設定を確認する場合。

# cat /proc/net/vlan/eth0.2
eth0.2  VID: 2   REORDER_HDR: 1  dev->priv_flags: 1
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted           25
       total bytes transmitted         3996
            total headroom inc            0
           total encap on xmit            0
Device: eth0
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 EGRESS priority mappings:

■ eth0.2 を削除する場合。

# vconfig rem eth0.2
Removed VLAN -:eth0.2:-

■ その他メモ。

動作確認は、試しに ping を打ってみる (同じネットワーク内の存在しない IP アドレスでいい)。
wireshark とかで、ARP パケットをキャプチャして、802.1Q Virtual LAN が見えると OK。
NIC によっては、802.1Q ヘッダが付かないやつがあるので注意。

● VLAN, 802.1Q, VID, vconfig,