10月 26

とりあえず、サーバはほぼ普及です。

まだ、CPANとかのライブラリ関係と
Mysqlの処理と、今回からapache2.2に移行したので
そのあたりの設定等残っておりますが

VPNは完全回復しております。

Tagged with:
10月 25

cpan> o conf prerequisites_policy follow
cpan> o conf commit
cpan> quit

Tagged with:
5月 15

Wiresharkでダンプしたパケット(cap,pcap)ファイルをPerlを使って解析するツール

事前にNet::Pcap(要libpcap),NetPacketをCpanからインストールしておいてください。

#/usr/bin/perl --
# 環境に合わせてperlのパスをあわせてください。
use strict;                         
use Net::Pcap;                      # .capおよび.pcapを開くためのライブラリ
use NetPacket::Ethernet qw(:ALL);   # Ethernet(データリンク層)からの解析
use NetPacket::IP;                  # IPフレームからの解析
use NetPacket::ICMP;        # ICMPフレームからの解析
use NetPacket::TCP;         # TCPフレームからの解析
use NetPacket::UDP;           # UDPフレームからの解析

my $input_file;   # ファイルが格納される変数
my $pcap;         # Net::Pcapのオブジェクト格納関数
my %header;       # ヘッダを格納するハッシュ変数
my $packet;       # パケットを格納する変数
my $err;          # エラーオブジェクト
my $pkt_cnt = 0;  # パケットカウント

$input_file = $ARGV[0]; #引数からファイルパスを格納
if(! -f $input_file){                      #input_fileが存在するか確認
   print "Can not exist ".$input_file."
";
   exit(1);
}

$pcap = Net::Pcap::open_offline($input_file, $err) or die "Can not open ".$input_file." using Pcap";
#open_onlineを利用した場合,イーサネットのデバイスを指定するとイーサネットから開きます。

while($packet = Net::Pcap::next($pcap, \%header)){ #pcapのライブラリから1行づつ読み込み
       &parse_packet($packet,\%header);             #parse_packet関数を利用
}
Net::Pcap::close($pcap);  #pcapオブジェを閉じる
# Main部分はここまで。
sub parse_packet {
   my($packet, $header) = @_;   #引数から格納
   $eth_obj = NetPacket::Ethernet->decode($packet); #パケットからデータリンク層にデコード

  $ip_obj = NetPacket::IP->decode($eth_obj->{data}); #データリンク層からIPフレームにデコード
   $src_ip = $ip_obj->{src_ip};
   $dest_ip = $ip_obj->{dest_ip};

   $time = $header->{tv_sec};
   $len = $header->{len};

   $proto = $ip_obj->{proto};

   print "From :".$src_ip." To:".$dest_ip."
";
   print $time."
";
   print "Length :".$len;

   if($proto == 1){ 
      #ICMPフレーム;
      $icmp_obj = NetPacket::ICMP->decode($ip_obj->{data});
   }
   elsif($proto == 4){ 
      #IPフレーム
   }
   elsif($proto == 6){
   #TCPフレーム
      $tcp_obj   = NetPacket::TCP->decode($ip_obj->{data});
      $src_port  = $tcp_obj->{src_port};
      $dest_port = $tcp_obj->{dest_port};
      $flags     = $tcp_obj->{flags};
   }
   elsif($proto == 17){
      #UDPフレーム
      $udp_obj   = NetPacket::UDP->decode($ip_obj->{data});
      $src_port  = $udp_obj->{src_port};
      $dest_port = $udp_obj->{dest_port};
      $flags     = $udp_obj->{flags};
   }
   else{
      print "Proto: ".$ip_obj->{proto}."
";
   }
}

詳細は
http://search.cpan.org/~saper/Net-Pcap-0.16/Pcap.pm
http://search.cpan.org/~yanick/NetPacket-0.41.1/

Tagged with:
1月 18

ようやくできましたよ
Amazon からCDカバーを探してくるやつ

なんかXMLまわりでエラーはいていたけど
もうしかたなのでsudo CPAN install Net::Amazonで無理矢理いれてやった

本当はソースをとって来てインストールするつもりだったけどなぁ・・・バージョンの関係で
動かないなんて・・・orz

ただサーバに負荷がかかりすぎるので公開はしません
あくまでもローカル内だけにとどめておきますが

欲しければソースをあげますので

ちなみDHTMLをいれてサーチもかっこ良くしておきましたw

Tagged with:
8月 12

ご存知の人もいるかもしれませんが
CGIダウンロードセンターの「レス付き画像掲示板 imgboard (フリーウェア)」
を設置してるところも多く、「ここで張られている画像をすべて見れたらいいなぁ」
っと思う人もいるはず

そこで作った解析プログラムなんですが
必要なものが3つあります
・そこのサイトの掲示板ログ(デフォルトは file.dat)です
・Cpanから LWP::Simple のモジュールをインストールしてあること
・Perlが動く環境(Unix またはPerlをインストールしてあるWindows)

もしLWP::Simpleがない場合 以下のプログラムと同じところに配置してください
プログラム

#!/usr/local/bin/perl
use LWP::Simple;

$url="http://www.xxx.co.jp/cgi-bin/";#img-boxの上のディレクトリー
$file="$url/file.dat";
getstore($file,"./file.dat"); LWP::SimpleでFile.datをDL

open(F,"./file.dat");
@list=<F>;
close(F);
print "Content-type: text/html <html> <head> <title>IMGBOARD解析</title> </head> <body> ";

foreach(@list){
  ($subject,$name,$email,$date_data,$body,$img_location,$imgtitle,$new_seq_no,$t,$rmkey,$unq_id)=split(/ /,$_);
  if($img_location ne ""){
    s/.////g;
    print"$url$img_location<br> ";#アドレスだけ表示
    #print"<img src="$img_location"><br> ";#画像だけ表示
   }
  }
print "</body> </html> ";

で動くと思います

Tagged with:
8月 05

CPANの初期設定

#perl -MCPAN -e shell
あなたは既にマニュアルの設定を読みましたかって聞かれるので
Are you ready for manual configuration? [yes] Enter↓
CpanのBuildとCacheを行うフォルダーを設定(デフォルトは/root/.cpan)
CPAN build and cache directory? [/root/.cpan] Enter↓

Cache の最大サイズを指定(デフォルトは10MB)
Cache size for build directory (in MB)?[10] Enter↓

Cacheファイルを前もってスキャンするか(デフォルトは起動時)
Perform cache scanning (atstart or never)?[atstart] Enter↓

メタデータをCacheするか(デフォルトは はい)
Cache metadata (yes/no)? [yes] Enter↓
ターミナルの表現は ISO-8859-1を使うか Noを選ぶとUTF-8になる
  Your terminal expects ISO-8859-1 (yes/no)? [yes] no Enter↓

履歴ファイルの場所を指定(デフォルトは/root/.cpan/histfile)
File to save your history? [/root/.cpan/histfile] Enter↓

履歴の最大行数(デフォルトは100)
Number of lines to save? [100] Enter↓
前もって必要な設定の方法は?(デフォルトは ask)
Policy on building prerequisites (follow, ask or ignore)? [ask] Enter↓

ここからは場所を指定
Where is your gzip program? [/bin/gzip] Enter↓
Where is your tar program? [/bin/tar] Enter↓
Where is your unzip program? [/usr/bin/unzip] Enter↓
Where is your make program? [/usr/bin/make] Enter↓
Where is your links program? [/usr/bin/links] Enter↓
Where is your wget program? [/usr/bin/wget] Enter↓
Where is your ncftpget program? [] Enter↓
Where is your ncftp program? [] Enter↓
Where is your ftp program? [/usr/kerberos/bin/ftp] Enter↓
Where is your gpg program? [/usr/bin/gpg] Enter↓
What is your favorite pager program? [/usr/bin/less] Enter↓
What is your favorite shell? [/bin/bash] Enter↓

以下は特別なことをしない限り Enter↓ で抜ける
Parameters for the ‘perl Makefile.PL’ command?
Your choice: [] Enter↓

Parameters for the ‘make’ command?
Your choice: [] Enter↓

Parameters for the ‘make install’ command?
Your choice: [] Enter↓

Timeout for inactivity during Makefile.PL? [0] Enter↓
FTPプロキシの設定(デフォルトは使用しない)
Your ftp_proxy? Enter↓
HTTPプロキシの設定(デフォルトは使用しない)
Your http_proxy? Enter↓
プロキシーを使うか?(デフォルトは使用しない)
Your no_proxy? Enter↓

CPANから持ってくる大陸を指定
(1) Africa
(2) Asia
(3) Central America
(4) Europe
(5) North America
(6) Oceania
(7) South America
Select your continent (or several nearby continents) []2 Enter↓(アジアなので2)

CPANから持ってくるアジア大陸の国を指定
(1) China
(2) Hong Kong
(3) Indonesia
(4) Israel
(5) Japan
(6) Malaysia
(7) Philippines
(8) Republic of Korea
(9) Russian Federation
(10) Saudi Arabia
(11) Singapore
(12) Taiwan
(13) Thailand
Select your country (or several nearby countries) []5 Enter↓(日本なので 5)

CPANから持ってくる日本のURL
(1) ftp://ftp.dti.ad.jp/pub/lang/CPAN/
(2) ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
(3) ftp://ftp.kddilabs.jp/CPAN/
(4) ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
(5) ftp://ftp.u-aizu.ac.jp/pub/CPAN
(6) http://ftp.cpan.jp/
Select as many URLs as you like (by number),
put them on one line, separated by blanks, e.g. ‘1 4 5’ []4 Enter↓
(どこでもいいですが 1.4.5が標準なので)

他のところからも持ってくるなら追加
Enter another URL or RETURN to quit: [] ftp://ftp.u-aizu.ac.jp/pub/CPAN Enter↓
Enter another URL or RETURN to quit: [] ftp://ftp.dti.ad.jp/pub/lang/CPAN/ Enter↓
Enter another URL or RETURN to quit: [] Enter↓

で完了
cpan>
 となりますので
インストールの場合 install
ファイルの検索は i/ファイル名/
終了は quit
です

Tagged with:
preload preload preload