Category Archives: Linux (Server) - Page 16

Linux用 EUC LF変換ソフト

実用的なプログラムを組んでみました。
Windows用の文字コードや改行コードをLinux用に自動変換します。
コマンドで出来るじゃんとは言わないでください^^;
コマンドの知識が無くてもと言うことで作りました。
あと、system関数の動きも気になりましたのでw

#!/usr/bin/perl
##########################################
#ソフト名 Changing line
#ファイル名 euc.pl
#作成者 orbit
#作成者HP https://www.orsx.net/
#
#ファイルの改行コードや文字コードを
#文字コードEUC改行コードLFへ変換します。
#########################################

$L='=' x 60;
$l='-' x 60;

#指示を表示
print"$Ln";
print"Please input the address until filing in then";
print"inclusion of the line feed code for Windows.n";
print"$Lnn";

#指示を表示
print"Is the directory moved?n";
$d=<stdin>;
chomp $d;

#ディレクトリ名の最後の/を確認
if($d eq ""){
 $u = "./";
 $d = "$u$d";
}elsif($d !~ //$/){
 $s = "/";
 $d = "$d$s";
}

#ファイルリストを表示
print"$ln";
print"<directory list>n";
print"$ln";
system ("ls $d");
print"$ln";

#ユーザーの入力の待機
print"Enter #t";
$d1=<stdin>;
chomp $d1;
#ファイル存在の確認
unless(-f "$d$d1") {
  print "There is no file!n";
 exit;
}

#指示を表示
print"n$Ln";
print"Please input the directory at the file at then";
print"output destination and the output destinations.n";
print"$Ln";
#ユーザーの入力の待機
print"Enter #t";
$d2=<stdin>;
chomp $d2;
if($d1 eq "" || $d2 eq ""){
  print "It was not possible to make a file.n";
 exit;
}

#ファイルのコードを変更
system ("nkf -e -Lu $d$d1 > $d$d2");

#ファイルリストを表示
print"n$ln";
print"<directory list>n";
print"$ln";
system ("ls $d");
print"$ln";
print"The '$d2' file ist";
system ("nkf --guess  $d$d2");

BackTrack 3 SpoonWpa起動 

Royal Windows様の記事をみて
Aircarack-ngを無理やりGUIで動かすSpoonWpaというものがあると知り
早速BackTrack 3で起動してみました^^
snapshot1

snapshot2

BackTrack 4 Pre Release ネットワーク起動

ネットワークをスタートします。
# sudo /usr/bin/start-network
snapshot2

Wicd Managerを起動します。
snapshot3
APリストが表示されますので選択します。
snapshot1

Apache2を起動する場合
コマンド
# sudo /etc/init.d/apache2 start
でApache2を起動できます。
snapshot4

EeePCへの導入に対応しているのか、EeePC 701-SDX
の無線LAN子機を認識しました。

なお、パッケージをアップデートするとDHCP Serverでエラーを確認しました。
BT3に比べると何か、かなり不安定ですね・・・・・・
所々Ubuntuと残っていたり^^;

参考HP:RokBlog

速報:BackTrack 4 Pre Release USBにインストール 簡単

Remote-Exploit.org様より
BackTrack 4 Pre Releaseが公開されました。

USBへのインストール方法も大きく変わったので紹介します。

USBは5G以上の空き容量が必要です。
※4Gでは要領不足でしたので今回は6Gの2.5インチハードディスクを
USBに外付けしてインストールしました。

ISOをソフトを使ってDVDに焼きます。

CDからBootします。
Xwindowの起動
# startx

起動後
install.sh
とシェルスクリプトがあるのでクリックしてインストーラを起動します。

一応今後のバージョンアップの時にinstall.shが消えた時の対処法
# ubiquity
と端末(ターミナル)から入力するとインストーラを起動できます。

snapshot1

Contnue anywayをクリック

Forwardをクリックして次に進みます。

タイムゾーンの選択でTokyoを選択(画像をとり忘れました^^;)

キーボードの言語とレイアウトを選択します。
snapshot2

インストールするメディアを選択します。※間違って内蔵HDDを選ばないように
snapshot4

アカウントを作成します。
snapshot5

設定をインポートするかと聞かれるが次に進みます。
snapshot6

確認画面が出るが、advanced…を選択しブートローダーインストール場所を
USBメモリーに変更します。

※ ここを抜かすとWindowsが正常に起動しなくなります。
snapshot8

snapshot9

インストール開始。。。。。
snapshot10

これでインストールできます。

インストール後に起動して困るのがシャットダウンです
logoutしか選択できませんw

ですので端末より
# sudo shutdown -h now
と入力するとPaswordを聞かれるので入力して終了します。

Perl HTMLソース表示 LWP::UserAgent 

何か役に立ちそうだったのでメモしておきます。

#!/usr/bin/perl

$url = "http://www.google.co.jp/";

use LWP;
print "Content-type: text/htmlnn";
print "<xmp>";
print LWP::UserAgent->new->request(
	HTTP::Request->new(GET => "$url"))->content;
print "</xmp>";

ん~何に使おうかな・・・・・・^^;
このモジュールの使い方も詳しく覚えないと

VineLinux 4.2 Smart-UPS PowerChutePlus

以前紹介したAPC製 UPS(無停電電源装置)の記事
Smart-UPS 1000 無停電電源装置 バッテリー交換

あれだけではUPSとしての利用価値が半減以下になってしまいます。
今回は(私が調べたところ)まだ何処も紹介していないですが
VineLinux 4.2で構築したサーバーでPowerChutePlusを使い
停電になったら自動的にシャットダウンさせるように設定してみます。

本来Smart-UPS 1000をPCとつなぐ為には専用のシリアルケーブル(9ピン)を
使用します。

しかし、私はSmart-UPS 1000本体だけしか持っていません^^;
しかも、ごく普通のシリアルケーブルを購入して変換アダプターも探し出した後。。。。
純正品を買ったら5000円程するようです。

『マジですか・・・・・・・』

なんかここまで来たらヤケクソでしょうw
買ったシリアルケーブルは他には使い道無いので気合で自作します。

先ず、下記を部屋から持ってきます。
半田小手
ヤニ入り半田
半田吸い取り線
万力みたいな固定する道具
小手拭き
皮むき(今回はメスで代用)
熱収縮管
エポキシパテ

シリアルケーブルの向きを決めます。
オスの方がUPS側、メスの方がPC側

断面を見ると右から順番に
5. 4. 3. 2. 1
9. 8. 7. 6
と言う順番です。

1   DCD   茶
2   RxD   赤
3   TxD   燈
4   DTR   黄
5   GND   緑
6   DSR   青
7   RTS   紫
8   CTS   灰
9    RI   黒
G  剥き出し

ケーブルを好きな所で豪快にちょん切ります。
Image108

以下の図はSmart-UPSのシリアルケーブルの自作様より引用
PC側 ( 9 pin メス) ←→ UPS側 ( 9 pin オス)
2 ——– 2
3 ——– 1
5 ——– 9
G ——- G ( シールド )
その他は、すべて NC

NCとは繋がっていないという事を意味します。
つまり、下記のように半田で繋げていきます。

PC側 ( 9 pin メス) ←→ UPS側 ( 9 pin オス)
剥き出し —– 剥き出し
赤 —– 赤
燈 —– 茶
緑 —– 黒

必要なリード線を剥いでいきます。
Image109

万力で固定し、半田で止めていきます。
Image110

接着したらこまめに熱収縮管で絶縁していきます。
Image111

Image112

全て終わったらパテでショートや接触不良を防ぐ為に固定します。
Image114
こんな感じです。

つづいてPowerChutePlus for Linuxをダウンロードしていきます。
VineLinux 4.2に最も近い環境であると考えられるRedHat 9用のPowerChutePlus
を利用します。
PowerChutePlus-4.5.3-1.i386.rpm
がベターでしたが、どうもサポートが終了したり
サイトが閉鎖したみたいですので今回は
Download mirrors for PowerChutePlus-4.5.3-1_RedHat.i386.rpm (2.45 MB):
ここからPowerChutePlus-4.5.3-1_RedHat.i386.rpmをダウンロードして来ます。

一応、当サイトでもミラーとして公開します。
PowerChutePlus-4.5.3-1_RedHat.i386
※利用規約等が見当たらなかったのでミラーとしてサーバーにUploadしました。
何か不都合がありましたらお手数をおかけしますが、お知らせください。

普通にインストールしますと
libstdc++-libc6.2-2.so.3 は PowerChutePlus-4.5.3-2.i386 に必要とされています
というようなエラーが出ます。

ですのでlibstdc++-libc6.2-2.so.3をインストールしようとしますが
単体では存在しません。

libstdc++2_10の中にバーチャルパッケージとして含まれているようですので、
インストールします。
[root@localhost root]# apt-get install libstdc++2_10
しかし、以下の様な文が表示されます。
E: 未解決の依存情報です。’apt-get -f install’ を実行してみてください(又は
解決パッケージを明示してください)。

[root@localhost lib]# apt-get -f install
を実行し、もう一度
[root@localhost root]# apt-get install libstdc++2_10
を実行するとインストールできるかと思います。

ディレクトリ/usr/libへ移動します。
[root@localhost lib]# cd /usr/lib

シンボリックを貼ります。
[root@localhost lib]# ln -s libstdc++-libc6.3-2.so.3 libstdc++-libc6.2-2.so.3

rootディレクトリへ移動します。
[root@localhost lib]# cd

インストールを開始します。
何故かこのパッケージは微妙にタイトルのバージョンと内容が異なりますので一応
書いておきますが、中身はPowerChutePlus-4.5.3-2.i386です。
[root@localhost root]# rpm -ivh PowerChutePlus-4.5.3-1_RedHat.i386.rpm
準備中… ########################################### [100%]
1:PowerChutePlus ########################################### [100%]
You must run /usr/lib/powerchute/Config.sh to configure PowerChute plus

こんな感じで問題なくインストール出来るかと思います。

設定を開始します。
[root@localhost root]# /usr/lib/powerchute/Config.sh
———————————————————————–
PowerChute Plus for Linux v4.5.3 Configuration Script
Copyright American Power Conversion 2001
———————————————————————–

1) Matrix-UPS
2) Smart-UPS
3) Back-UPS
4) Back-UPS Pro
5) Symmetra Power Array
6) Smart-UPS DP

Which APC Hardware will PowerChute Plus for UNIX be running with [?] 2

Smart-UPS 1000なので2を選択

—————————————————————————-
The Measure-UPS is a device which is designed to perform environmental
monitoring in conjunction with PowerChute Plus for UNIX
—————————————————————————-

Do you currently have a Measure-UPS attached to the UPS? [y/n] n

Measure-UPSを使っているかと聞かれますのでnを選択

—————————————————————————-
PowerChute Plus for UNIX is able to monitor other hosts. However, in order
to monitor other hosts TCP/IP must be installed. If you do not have
TCP/IP installed, answer ‘n’ to the following question.
—————————————————————————-

Do you currently have TCP/IP Installed? [y/n] y

インターネットに繋がってるかと聞かれますのでyを選択

—————————————————————————-
If you will be using the Motif version of the User Interface on a
monochrome monitor, using the Monochrome Coloring scheme is recommended.

—————————————————————————-
1) Use Default Color scheme
2) Use Monochrome Color scheme

Which color scheme do you wish to use [1]? 1

カラーかときかれますので1を選択

—————————————————————————-
PowerChute Plus for UNIX requires complete control of the serial port. No
processes, including gettys, are allowed to be accessing the port.
Therefore, the serial port you select must NOT be enabled for logins. To
ensure that PowerChute Plus for UNIX has control of the serial port, make
sure that it is not enabled for logins. To disable the port for logins
consult the PowerChute Plus for UNIX manual.
—————————————————————————-

1) /dev/ttyS0
2) /dev/ttyS1
3) Other

Which serial device will be dedicated to PowerChute Plus for UNIX [?] 1

シリアルケーブルを何処に繋げているかと聞かれますので
シリアルポート1なので1を選択

—————————————————————————-
Command files may be executed with root privileges or with the
privileges you assign to the pwrchute account (allowing you to
customize command file execution according to your system
requirements).
—————————————————————————-

Do you want to execute command files as root? [y/n] y

rootでインストールを続けるかと聞かれますのでyを選択

—————————————————————————-
E-mail may be sent with root privileges or with the privileges you
assign to the pwrchute account.
—————————————————————————-

Do you want to send e-mail as root? [y/n] y

root宛てにメールを送信するように指定するかと聞かれますのでyを選択

—————————————————————————-
PRODUCT : PowerChute Plus for UNIX
DEDICATED TTY : /dev/ttyS0
UPS TYPE : Smart-UPS
Measure-UPS INSTALLED : FALSE
INSTALLING AS ROOT : TRUE
TCP/IP Installed : TRUE
RUN COMMAND FILES AS ROOT : TRUE
SEND EMAIL AS ROOT : TRUE
—————————————————————————-

Are the above selections correct? [y/n] y

確認画面が出るので問題なければyを選択

Checking for binary compatibility…
binary compatibility VERIFIED

/dev/ttyS0 verified as a valid tty

The following Port validations for /dev/ttyS0 may take a few moments….
/dev/ttyS0 appears to be a local control port

making backup copy of shutdown files…
modifying shutdown files….

UPS communications on /dev/ttyS0 verified
Done.

—————————————————————————-
Due to the amount of time it can take Unix platforms to shutdown,
it is sometimes necessary to increase the eeprom parameter UpsTurnOffDelay
within the UPS. This is in order to allow sufficient time for the
Operating System to shutdown completely.
—————————————————————————-
* Doing this is recommended for the Linux Operating System *
—————————————————————————-
Do you wish to increment the UpsTurnOffDelay to its next highest
value now? [y/n] y

何か色々出ていますがデフォルトでかまわないのでyを選択します。

UpsTurnOffDelay successfully set at 180.

The PowerChute plus User Interface will prompt you for a password when you attempt
to connect to the upsd daemon running on this machine. This password is the
password of the pwrchute user account.

Adding a pwrchute user account
Please set the password for the pwrchute user account.
Changing password for user pwrchute.
New password:
Retype new password:
パスワードを決める必要があります。
passwd: all authentication tokens updated successfully.
—————————————————————————-
PowerChute Plus for UNIX Installation complete. You will need to reboot
in order to start the application
—————————————————————————-

これでインストール終了です。

気になるので一応自動起動するように設定します。(たぶん必要無いかも)
[root@localhost root] # chkconfig upsd on
[root@localhost root] # chkconfig –list upsd
upsd    0:off  1:off  2:on  3:on  4:on  5:on  6:off

ちなみにUPSの電源を抜き端末(ターミナル)を起動すると
下の画像の様にカウントダウンが開始されます。
Screenshot

PowerChutePlusをGUIで操作する方法
コマンドで以下を実行
[root@localhost root] # /usr/lib/powerchute/
[root@localhost root] # ./xpowerchute

Screenshot

パスワードを入力します
Screenshot-1

このように表示されます
Screenshot-2

ふと思ったんですが、
せっかくGUIで操作できるのならアイコンをクリックして起動させたいもの。。。。。
クリックで起動できるよう設定します。
# vi /usr/lib/powerchute/ups.sh

#! /bin/bash
cd /usr/lib/powerchute
./xpowerchute

# vi Powerchute

[Desktop Entry]
Name=Powerchute
GenericName=UPS
Exec=/usr/lib/powerchute/ups.sh
Icon=/usr/lib/powerchute/battery.png
Terminal=false
Type=Application
StartupWMClass=Powerchute
Categories=UPS;
Categories=GTK;System;
Encoding=UTF-8

アイコン画像
battery

まとめて保存したファイルをアップロードしておきます。
UPS.tar.gz

解凍後
シェルスクリプトとアイコンは下記の場所に保存します。
/usr/lib/powerchute/ups.sh
/usr/lib/powerchute/battery.png

作成したアイコンをクリックすると起動します
Screenshot-3

Screenshot-4

Postfix エラー 設定変更

以前から気になっていたエラー
support for restriction “reject_maps_rbl” will be removed from Postfix; use
“reject_rbl_client domain-name” instead
を解決する方法を見つけたので紹介します。

# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
#
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
#
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible.  Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
#alias_maps = hash:/etc/aliases

alias_maps = hash:/etc/aliases
場所をここに指定します。

エラー
restriction `reject’ after `check_relay_domains’ is ignored :
support for restriction “check_relay_domains” will be removed from Postfix; use
“reject_unauth_destination” instead :
の解決方法

smtpd_recipient_restrictions =
                permit_mynetworks,
		regexp:/etc/postfix/recipient_checks.reg,
				permit_sasl_authenticated,
				check_relay_domains,
		reject

これを下記の様に変更しました。

smtpd_recipient_restrictions =
                permit_mynetworks,
		regexp:/etc/postfix/recipient_checks.reg,
				permit_sasl_authenticated,
				reject_unauth_destination

クラッキング(ハッキング)ツール BBDoS.a

このクラッキングツールはDos攻撃をする為に作られたツールです。
どうやらソースを見ると掲示板に連続投票するために書かれてますね^^;
Perlで記述されています。

Dos攻撃とはターゲットに大量のリクエストを送り
サーバーの処理能力を極端に低下させる攻撃です。

お願いですからウチに攻撃しないでくださいね(≧人≦;)

このプログラムはコマンドプロントや端末(ターミナル)を利用し
使用します。

ダウンロードして、このまま使おうとしても使用できません。
なぜかPerlまでのパスの上に説明文が書かれています。
# phpBB <= 2.0.15 Register Multiple Users Denial of Service (perl code) この文章を削除することで利用可能になります。 WS000015

ソースを読んでみましたが攻撃が始まると止められません。。。。。
9999回続きますw
WS000017

作者さんquitとかで終了できるようにしましょうよ^^;

Clam AntiVirus WARNING: Can’t open file /~

朝起きてLOGを確認したところ下記の様になっていました

ClamAV update process started at Thu Aug 13 03:00:00 2009
main.cvd is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven)
Downloading daily-9680.cdiff [100%]
Downloading daily-9680.cdiff [100%]
Downloading daily-9681.cdiff [100%]
Downloading daily-9681.cdiff [100%]
Downloading daily-9682.cdiff [100%]
Downloading daily-9682.cdiff [100%]
Downloading daily-9683.cdiff [100%]
Downloading daily-9683.cdiff [100%]
Downloading daily-9684.cdiff [100%]
Downloading daily-9684.cdiff [100%]
Downloading daily-9685.cdiff [100%]
Downloading daily-9685.cdiff [100%]
daily.cld updated (version: 9685, sigs: 64251, f-level: 43, builder: ccordes)
Database updated (609286 signatures) from db.jp.clamav.net (IP: 120.29.176.126)
WARNING: Can't open file /sys/block/sda/sda1/uevent
WARNING: Can't open file /sys/block/sda/uevent
WARNING: Can't open file /sys/block/md0/md/new_dev
WARNING: Can't open file /sys/block/md0/uevent
WARNING: Can't open file /sys/block/hda/hda3/uevent
WARNING: Can't open file /sys/block/hda/hda2/uevent
WARNING: Can't open file /sys/block/hda/hda1/uevent
WARNING: Can't open file /sys/block/hda/uevent
~長いので省略~
LibClamAV Error: cli_readn: read error: Input/output error
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.7/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.5/uevent
LibClamAV Error: cli_readn: read error: Input/output error
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.4/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.1/usb2/uevent
LibClamAV Error: cli_readn: read error: Input/output error
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.1/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.0/usb1/uevent
LibClamAV Error: cli_readn: read error: Input/output error
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1d.0/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:1c.0/uevent
LibClamAV Error: cli_readn: read error: Input/output error
LibClamAV Error: cli_readn: read error: Input/output error
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:03.0/0000:01:01.0/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:03.0/uevent
WARNING: Can't open file /sys/devices/pci0000:00/0000:00:00.0/uevent
WARNING: Can't open file /sys/devices/pci0000:00/uevent
WARNING: Can't open file /sys/devices/platform/serial8250/uevent
WARNING: Can't open file /sys/devices/platform/i8042/serio1/drvctl
WARNING: Can't open file /sys/devices/platform/i8042/serio1/uevent
WARNING: Can't open file /sys/devices/platform/i8042/serio0/drvctl
WARNING: Can't open file /sys/devices/platform/i8042/serio0/uevent
WARNING: Can't open file /sys/devices/platform/i8042/uevent
WARNING: Can't open file /sys/devices/platform/vesafb.0/uevent
WARNING: Can't open file /sys/devices/platform/uevent

----------- SCAN SUMMARY -----------
Known viruses: 608645
Engine version: 0.95.2
Scanned directories: 21535
Scanned files: 197957
Infected files: 0
Data scanned: 9781.63 MB
Data read: 15115.82 MB (ratio 0.65:1)
Time: 5134.285 sec (85 m 34 s)

無事対策のかいあってアップデートできてるなと安心していたら
何やらエラーがズラリ。。。。。。
こりゃ何だ!?
と調べた所
Clam AVでスキャンすると大量のエラーがでます
に同じような事で質問している方がいましたので参考にさせていただきました。
どうも、プロセスがファイルロックしてスキャンできなかったとの事です。

まぁ、気にはなりますが問題無いことなので無視で^^;

一応、他の方は
# echo “/proc/” >> clamscan.exclude
# echo “/sys/” >> clamscan.exclude
でスキャンしないようにリストに追加しているみたいですね~

クラッキング(ハッキング)ツール AnonyMail

今回は匿名メールを送信するクラッキングツールAnonyMail
について紹介します。

AnonyMailはドメインを偽り成りメールを送信することが可能です。
WS000006

Perlで記述されています。
Sendmailを利用しメールを送信します。
確かに下らないし、ありふれたツールですね^^;
まぁ、立派な名前があるので紹介しました。

この手のツールを使った成りすましメールは大抵の物が
メールヘッターを読み取ることにより簡単に見破る事が可能です。

SMTPのメール不正中継の拒否設定の重要さがわかりますね^^

今回少し私が気になったのが、このAnonyMail
実はダウンロードしてサーバーにアップロードし権限を投与しても
ページを開くことはできない事です。

ソースを読んで気づいた事なのですが、実は基礎的な文法ミスがあります。

第6行目
$admin = “napalmed@fuck.au”;

おそらく作者は
変数adminにメールアドレス(napalmed@fuck.au)
を格納しようと記述したのでしょうが
この記述では、メールアドレスの@以下(@fuck.au)が
配列と認識されてしまいError500になります。

そのため
この二重引用符(ダブルクオート)を単一引用符(シングルクオート)に変更する
必要があります。
こうする事により単一引用符(シングルクオート)で括る間の全ての
記号($,@,%,n,t等)が無視されます。

訂正例)
第6行目
$admin = ‘napalmed@fuck.au’;