2011年5月30日月曜日

ネットワークの総転送バイトとかを調べる

cat /proc/net/dev

2011年5月29日日曜日

変数のスコープは狭い方が良い?

カーゴカルトみたいな感じか
たしかにそうだと思った

分裂勘違い君劇場
中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント

モンロー/ノイマン効果とは

円形に配置した爆発物が爆発すると中央部にエネルギーが集中してどうたらこうたら・・・
魔法少女まどか☆マギカの11話参考とのこと
参考リンク
ほむほむ11話戦闘シーン
モンロー/ノイマン効果(Wikipedia)

2011年5月24日火曜日

top系のコマンドをまとめてみる(システムモニタリングツール)

システムモニタリング

top
標準インストール?の基本的なモニタリングソフト

htop
もっとユーザフレンドリーなUIになって見やすくなったtop

iotop
IOに着目して負荷を見るためのtop

atop
アクティブなプロセスのみを表示、前表示と差分があったものを表示するtop

ネットワークモニタリング

apachetop
apacheのログからアクセスをリアルタイムに解析してくれる
lighttpdのログでも使えた

iftop
インターフェイスごとにトラフィックを計測

nethogs
アプリ毎にトラフィックを測定

dnstop
DNSのトラフィックを表示

jnettop
ホストとポート毎にトラフィックを表示

sntop
接続を検地するtop


参考リンク
http://phpspot.org/blog/archives/2010/12/top.html
http://journal.mycom.co.jp/news/2009/09/07/005/index.html

pam-auth-updateで認証方式の変更

DTIのVPSの認証方式がKerberosになってたからコマンド打って再設定した

/etc/pam.d/common-password
を見るとよいかも

2011年5月22日日曜日

Linuxの面白そうなゲーム

全てaptでインストールできる

sudoku -> コンソールでできる数独
xshogi -> 将棋ゲーム 軽くて良い感じ
kraptor -> シューティングゲーム
ltris -> 軽いテトリス
netris -> コンソール版のテトリス
viruskiller -> シューティングゲーム?(動作せず)
xblast -> ボンバーマンのクローン
flobopuyo -> ぷよぷよのクローン
xfireworks -> デスクトップに花火が出る
xfishtank -> デスクトップが水族館みたいになる
xpenguins -> デスクトップにペンギンが出る
xsol -> ただのソリティア

参考リンク
http://www10.atwiki.jp/gleaning/pages/32.html
http://penguin.tantin.jp/mori/category.html#af0d8275

perlで日付文字を解析するのに便利なモジュール

Date::Parse というらしいとても便利

#!/usr/bin/perl
 use Date::Parse;
 $unix_time=str2time ("May 15 01:19:02","JST");
 print $unix_time;

2011年5月15日日曜日

パイプ処理の進行状況を教えてくれるコマンドpv

パイプビュー というpv コマンドらしい
どうやらpvはcatみたいな効果があるみたい
pv rss.log* | gzip -c > /tmp/hoge.gz

こうやって2つのパイプの間に挟むのも手
cat rss.log* |pv | gzip -c > /tmp/hoge.gz
参考リンク
http://d.hatena.ne.jp/dharry/20110210/1297268423
http://yebo-blog.blogspot.com/2009/02/pipe-viewer.html

2011年5月14日土曜日

WindowsXPの自動起動(オートラン)機能を無効化する

レジストリを以下のようにすればOKらしい
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000b5

先日、友人からもらったUSB見たら6bi8wr29.exeというウィルスがUSBドライブの直下にあったからこれやっといてよかった危ない危ない・・・

参考リンク
http://www.mnet.ne.jp/~angie/kbase/xp-autorun.html
http://yonyon-blog.net/youmei/2008/05/27/cddvd%E3%82%84usb%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AE%E8%87%AA%E5%8B%95%E5%AE%9F%E8%A1%8C%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

2011年5月11日水曜日

ハッシュ解析の常套手段レインボーテーブル

レインボーテーブルとはあらかじめ作っておいたハッシュテーブルと平分の対応表を照らし合わせ、平分を得るテクニックらしいです。
チェインと呼ばれる単位に集約されているので、テーブルの容量が少なくてすむ利点があります。

ソフトはここら辺からどうぞ
http://project-rainbowcrack.com/index.htm

参考リンク
http://backslash.ddo.jp/wordpress/index.php/archives/584

2011年5月10日火曜日

シャドウパスワードの有効化、無効化の切り替えコマンド

pwconv, pwunconv, grpconv, grpunconv
パスワード・グループの shadow 化と、通常ファイルへの逆変換

LANの盗聴について

昔、調べたことがあったのでメモ

有線LANの盗聴にはいくつか種類があって調べた限りだと以下の方法がある
以下の方法の殆どを行えるソフトはettercapがあるman ettercapとやるだけで勉強になる
→MAC Floodはdsniffの中にあるmacofを使うと良いかも
  • ARP Spoofing
  • ICMP Redirect
  • DHCP Spoofing
  • Port Stealing
  • MAC Flood

APR Spoofing

偽のARP応答を返すことでARPテーブルを変更し中間者攻撃を行う手法
ARP Spoofingについてはこちらが参考になる

ICMP Redirect

ICMPリダイレクトを使って経路情報を書き換え

DHCP Spoofing

DHCPを使ってIPアドレスを振るときにGWを盗聴できるように変更

Port Stealing

L2スイッチのポート情報を書き換えることでパケットをこちらに流すようにする

MAC Flood

L2スイッチのMACテーブルを溢れさせて馬鹿ハブにして盗聴する荒業

参考リンク
LAN内の盗聴とその予防
スプーフィング
MACアドレス書き換えで通信傍受!
ARPスプーフィングで通信傍受!

X Window Systemでスクリーンショットを取る

以下のコマンドで出来るらしい
対象をウィンドウだけを取るなら以下のコマンド
コマンドを打ってから対象をクリックでOK
xwd -frame -out 001.xwd

全体を取るには以下のコマンド
これは打った瞬間に取られる
xwd -root -out 002.xwd


参考リンク
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/861minsysps.html
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/010prtsc.html

インプットメソッドibusを試す

aptで以下をインストール

ibus
ibus-anthy
ibus-gtk
ibus-qt4
kasumi
im-switch

インストールしたら
im-switch -s ibus
で切り替え
ibus-setup
でセットアップ

dwmだとツールバーが無いので以下のように設定





参考リンク
http://glandium.org/blog/?p=989

Xセッションからログアウトしたときにスクリプトを実行する

ログアウトの制御は使用しているディスプレイマネージャに依存するみたいです。

Gnomeなら/etc/gdm/PostSession/Default
XDMなら/etc/X11/xdm/Xreset
KDEなら/etc/kde4/kdm/Xreset
WDMなら/etc/X11/wdm/Xreset(ディスプレイ毎に設定なら/etc/X11/wdm/Xreset_0等)

らしい

kdmからなら/etc/kde4/kdm/Xreset→/etc/X11/Xreset→/etc/X11/Xreset.d
と呼ばれているのが分かったので/etc/X11/Xreset.dにスクリプトを置けばOKみたい
あと環境変数$USERでログアウト対象のユーザー名を取得できるらしい



参考リンク
http://superuser.com/questions/65460/create-a-logoff-script-task-for-linux
http://haraita9283.blog98.fc2.com/blog-entry-406.html

2011年5月8日日曜日

fork爆弾を試してみる

sleepだけなら大丈夫かな?と思って以下のスクリプトを実行してみた
→結果すぐに応答なしになってkillallも効かない状態に\(^o^)/
電源を切るしかなくなった
#!/bin/bash
while :; do
        $0 &
        sleep 10m
done &

詳しくはWikipedia

xsessionrcのプロセス制御

前回前々回でwhileでループさせた後xsessionで壁紙やらステータスバーを変更してたけど、それだといろいろと不具合があることが分かったので修正する。

修正後のxsessionrcは以下のようになった

#!/bin/bash
#xsetroot -solid DarkSlateBlue
#hsetroot -full /usr/share/lxde/wallpapers/garasunodice.jpg

D_NUM=`echo $DISPLAY  | cut -f 2 -d:`
PIDFILE=~/.xsession_${D_NUM}.pid
for psnum in $(cat $PIDFILE)
do
        cmd=`ps -p $psnum | tail -1 `
        if echo $cmd | grep Xsession > /dev/null ; then
                kill $psnum
        fi
done
rm -f $PIDFILE

while true
        do
        DATE=`date +"%Y/%m/%d %H:%M"`
        LOAD=`loadav.pl`
        xsetroot -name "Load Average:$LOAD   $DATE" || exit
        sleep 30s || exit
done &
echo $! >> $PIDFILE

while true
        do
        /usr/local/bin/random_wallpaper.pl /jitaku/local/pic/Linux_wallpaper/ || exit
        sleep 30m || exit
done &
echo $! >> $PIDFILE

まず不具合の原因はwhileループがXをログオフしても生き続けること
下図参考このように30sの間にログオフ→ログインが行われると2つのプロセスが実行されてしまう
それを防ぐためにwhileのwhileのプロセスを記録しておく
このときディスプレイ番号も記録し他のXセッションも切らないようにする
pstreeでみるとこんな感じ

こうしておけば次にログインするときにWhileプロセスを殺してくれる。whileプロセスが無いので時間が経てば消えるので良しとした
ちなみにこの方法は再起動した時でも前回のプロセス番号をkillしようとするので完全ではない。
たまたま、同じプロセス番号+Xsessionコマンドで実行されていれば間違えてしまう可能性がある

過去記事
Dwmのステータスバーと壁紙を変更してみる
Linuxでランダムに壁紙を変更するスクリプト書いた

Linuxでランダムに壁紙を変更するスクリプト書いた

いろいろソフトとかあるみたいだけどスクリプトでやってみる

#!/usr/bin/perl
use strict;
use warnings;
##################################
# ランダムに壁紙を変更するスクリプト
##################################
my $WALLPAPER_DIR=shift;
##################################

chdir $WALLPAPER_DIR or die $!;
my @pic_lst=(<*.jpg>,<*.png>);
my $random_num=int rand(scalar @pic_lst);
system "hsetroot -full $pic_lst[$random_num]" and die $!;
このスクリプトをrandom_wallpaper.plとして保存した
.xsessionrcに書いておけばOK
while true
        do
        /usr/local/bin/random_wallpaper.pl /jitaku/local/pic/Linux_wallpaper/ || exit
        sleep 30m
done &

参考リンク
ペンギンの杜 〜 Linux ソフト集 〜アミューズメント/壁紙
美女LinuxをUbuntu(GNOME)の壁紙にする

参考記事
xsessionrcのプロセス制御

2011年5月7日土曜日

bashrcに書いておくと便利な行

#キーバインド
set -o #キーバインドをviに
stty stop undef #端末ロックをやめる
bind C-f:menu-complete #Ctrl-fでメニューコンプリート
bind C-l:clear-screen #Ctrl-lで端末のクリア

#エイリアス
alias bc='bc -q' #bc の最初のメッセージがうるさいので
alias mv='mv -i' #お好みでrootのbashrcには必要?
alias rm='rm -i' #お好みでrootのbashrcには必要?

注意点はset -o viの前にbindでキーバインドを設定しても無効になってしまうこと
必ずset -o viした後にbindを書くこと


過去記事
bashでCtrl-S押すと端末がロックされる
bashで端末ロック機能を解除する
bashでTAB補完する(menu-complete)

2011年5月1日日曜日

タスク切り替えソフトを選ぶ

使いやすい+早いと思ったのは
ufsかなぁ
ctclもなかなか良い感じだけど
切替の早さはufsかなぁ・・・



参考リンク
http://d.hatena.ne.jp/ampll/20090602/1243924925

Xmingを試してみる

Xmingはwindowsで使えるXサーバー
ここからダウンロードしてインストール
とりあえず使ってみるにはWindows側で以下のコマンドでXサーバーを起動
Xming.exe -ac -multiwindow -clipboard

Linux側で以下のコマンドを実行(Windows側のIPアドレスが192.168.0.3だった場合)
export DISPLAY="192.168.0.6:0"

あとはXのアプリを起動すればWindows側に現れるはず
本当はこの方法だとセキュリティ的にまずいのでX11転送とかを使う方がいいかも

参考リンク
公式サイト