Akira's Blog

神奈川在住のITエンジニアの雑記です。主にプログラミング(Perl, Java など)やネットワーク技術についての小ネタを、ちょっとずつ書いていきます。

perl

SNMP trap (coldStart) 送信スクリプト

以前作成した以下の perl スクリプトをエンハンスした。 akrad.hatenablog.com具体的には、SNMPv1 のcoldStartトラップも SNMPv2cのcoldStartトラップも送信できるようにし、トラップ送信先やSNMPv1トラップの agent-addrフィールドも指定できるようにした。…

SNMP v2c trap (coldStart) 送信スクリプト

SNMP v2c の trap (coldStart) を送信するperlスクリプト sendTrap.pl を作成した。perl sendTrap.pl として実行すると、localhost の 162/udp に対して、coldStartトラップを送信する。例えば、SNMPマネージャのtrap受信テストを簡単に行うのに使用できると…

sprintf関数とunpack関数

sprintf関数とunpack関数は、ともに引数の数値を16進表記に変換できるが、以下の挙動の違いがある。 use strict; use warnings; my $num = 12; my $hexdumpBySprintf = sprintf("%x", $num); my $hexdumpByUnpack = unpack("H*", $num); print "hexdump by s…

udpパケットを送信するスクリプト

指定したホスト、ポートに udpパケットを送信する perl スクリプト sendUdpData.pl を作成した。テストなどで、パケットキャプチャで取得したデータ(16進ダンプ文字列)を、好きな場所に送りたい場合に使う用途で作成した。使い方は以下。 perl sendUdpData.p…

tcp/udpポートを確保し続けるスクリプトを少しエンハンスした。

以前、tcp/udpポートを確保し続けるスクリプト holdPort.pl を作成した。 akrad.hatenablog.com これに引数でholdするIPアドレスを指定できる機能を追加した。例えば、「perl holdPort.pl -port 8080 -ip 127.0.0.1」と実行すると、holdPort.pl は 127.0.0.1…

tcp/udpポートを確保し続けるスクリプト

tcp/udpポートを確保し続ける perl スクリプト holdPort.pl を作成した。テスト等でポート・バッティングを起こすために、指定したポートを確保したい時に使うと便利。 使い方は簡単で、例えば「perl holdPort.pl -p 80」で、このスクリプトは停止するまで 8…

16進ダンプ文字列からバイナリ列を作成するスクリプト

以前、ファイルの中身を16進ダンプするperlスクリプトを作成した。 akrad.hatenablog.com上記に対して、今回作成したperlスクリプト makeBinFromHex.pl は、この逆を行うものである。つまり、16進ダンプ文字列からバイナリ文字列を作成する。例えば、入力フ…

ファイルの中身を16進ダンプするスクリプトをちょっとエンハンス

以前、ファイルの中身を16進ダンプで出力するperlスクリプト dumpHexStr.pl を紹介した。 akrad.hatenablog.comところが、これではファイル内に改行があった場合にそれが省かれてしまうので、改行も含めて16進ダンプするようにした。 use strict; use warnin…

指定したディレクトリ配下のファイル内のタブをスペースに変換するスクリプト

指定したディレクトリ配下のファイル内のタブをスペースに変換するperlスクリプト replaceTabToSpace.pl を作成した。使い方は簡単で「perl replaceTabToSpace.pl "ディレクトリのパス"」で実行できる。例えば、ソースコード内にタブとスペースが混在してい…

各行の先頭に「> 」を付けるスクリプト

各行の先頭に「> 」を付けるperlスクリプト addQuote.pl を作成した。例えば、 aaa bbb ccc ddd という文章に対して、このスクリプトを適用すると、以下のようになる。 > aaa > bbb > ccc > ddd 任意の文章に対して、引用として「> 」を付けたい場合に使用す…

指定したディレクトリ配下のファイルから改行コード LF を探し出すスクリプト

引数で指定したディレクトリ配下のファイルから改行コード LF を探し出すperlスクリプト detectLF.pl を作成した。 使い方は簡単で、「perl detectLF.pl "ディレクトリ"」を実行するだけ。 use strict; use warnings; my $dir = $ARGV[0]; if(! -d $dir) { d…

指定したディレクトリ配下のファイル名やディレクトリ名を全て表示するスクリプト

指定したディレクトリ配下のファイル名やディレクトリ名を、再帰的に全て表示するperlスクリプト printAllUnderDir.pl を作成した。 use strict; use warnings; my $dir = $ARGV[0]; if(! -d $dir) { die "Invalid argument."; } $dir =~ s|\\|/|g; getFileL…

指定されたディレクトリ配下のアーカイブファイルを再帰的に展開するスクリプトを作成した。

指定されたディレクトリ配下にあるアーカイブファイルを再帰的に展開するperlスクリプト extractRecursively.pl を作成した。 使い方は簡単で、「perl extractRecursively.pl "ディレクトリ"」として実行するだけ。 use strict; use warnings; use Archive::…

ファイルに書かれた文字列で検索するスクリプト

ファイルAに書かれた文字列で、ファイルB内を検索するperlスクリプト(findStr.pl)を作成した。使い方は簡単で「perl findStr.pl "ファイルA" "ファイルB"」で実行する。例えば、ファイルAの中身が aaa bbb ccc となっていて、ファイルBの中身が aaa ddd eee …

ファイルの中身を16進ダンプするスクリプト

引数で受け取ったファイルの中身を16進ダンプして、出力用のファイルに出す perl スクリプトを作成した。どういう時に使うかというと、例えば、入力に16進ダンプの文字列を受け付けるプログラムを使いたい時に、このスクリプトで対象の文字列を16進ダンプに…

SNMP Trap を受信するスクリプト

SNMP Trapを受信し、受信した内容を標準出力に出すperlスクリプト receiveTrap.pl を作成した。 「perl receiveTrap.pl」と実行すると、終了するまでSNMP Trapを受信して表示し続ける。終了するには、実行したターミナル上で ctrl + c を実行する。 use stri…

引数で指定したディレクトリ配下から、BOM付きのファイルを探してくるスクリプト

引数で指定したディレクトリ配下から、BOM(Byte Order Mark)付きのファイルを探してきて、そのファイル名を表示するperlスクリプト findBOM.pl を作成した。 使い方は簡単で、「perl findBOM.pl "検索対象ディレクトリ"」で実行できる。なお、Windows環境で…