へっぽこネットワークエンジニアのにっき

しあわせになりたい。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Net::LDAPをつかってみる その2

前回のつづき

uidとuserPasswordを入力し、入力したuidの情報を取得するサンプル

userbind_search.pl

#! /usr/bin/perl

use strict;
use warnings;
use Net::LDAP;

#
#LDAP Server Configuration
#
my $ldapserver ='localhost';
my $basedn ="ou=People,dc=hoge,dc=co,dc=jp";
my $ldap = Net::LDAP->new($ldapserver) or die "$@";

my ($uid,$password) = @ARGV;

my $binddn ="uid=$uid,"."$basedn";

#LDAP user search
$ldap->bind("$binddn",password =>"$password");
my $msg = $ldap->search(
base => "$basedn",
filter =>"(uid=$uid)",
);

$msg->code && die $msg->error;

foreach my $entry ($msg->all_entries) {
print $entry->get_value('uid')."\n";
print $entry->get_value('cn')."\n";
print $entry->get_value('mail')."\n";
print $entry->get_value('userPassword')."\n";
}

#スキーマ情報を全部取得するなら以下でOKみたい
#foreach my $entry ($msg->entries) { $entry->dump; }

$ldap->unbind;

exit 0;



./userbind_search.pl [uid] [userPassword]



この場合、正しいuid パスワードを入れると該当するuidの全ての値が表示され、パスワードを間違えて入力すると、出力結果は匿名認証時と同様となる。
スポンサーサイト

【“Net::LDAPをつかってみる その2”の続きを読む】

Net::LDAPをつかってみる

相変わらず自分用覚書。

最近Perlで遊んでますが、レベルは初級レベルですよ。って先に言っておく。
そういうわけで、もっとスマートに書けるよ、って言うのであればご指摘おば。

参考は以下

Perl 覚書 - jordan_beth の日記

Net::LDAP
Net::LDAP (CPAN)

スキーマは便宜上以下のものとする

dc=hoge,dc=co,dc=jp
    |____ou=People
        |----uid:ユニークなID(例えば社員番号とかね)
        |----cn:氏名
        |----mail:メールアドレス
        |____userPassword:パスワード


Net::LDAPのインストールは省略

引数にuidを入力して、該当するuidの情報を取得するサンプル。

LDAPサーバの anonymous bindが有効になっていることが前提として
anonymousでldapsearchをする。

anonymous_search.pl

#! /usr/bin/perl

use strict;
use warnings;
use Net::LDAP;

#
#LDAP Server Configuration
#
my $ldapserver ='localhost';
my $basedn ="ou=People,dc=hoge,dc=co,dc=jp";
my $ldap = Net::LDAP->new($ldapserver) or die "$@";

my $uid = shift;

#LDAP user search
$ldap->bind;
my $msg = $ldap->search(
base => "$basedn",
filter =>"(uid=$uid)",
);

$msg->code && die $msg->error;

foreach my $entry ($msg->all_entries) {
print $entry->get_value('uid')."\n";
print $entry->get_value('cn')."\n";
print $entry->get_value('mail')."\n";
print $entry->get_value('userPassword')."\n";
}

#スキーマ情報を全て出す場合は以下でいいみたい
#foreach my $entry ($msg->entries) { $entry->dump; }

$ldap->unbind;

exit 0;




./anonymous_search.pl [引数にuid]



匿名認証でパスワードが見れるってドウなのよ、っていうのがありますんで
slapd.confに以下のACLを追加

access to attrs=userPassword
by anonymous auth
by self read
by dn="cn=Manager,dc=hoge,dc=co,dc=jp" read
by * none



この後実行すると、userPasswordの行は

Use of uninitialized value in concatenation (.) or string at ./anonymous_search.pl line 29, line 225.
となります。匿名では見れないので、エラーが返ってきます。
見せたくないなら、そもそもコードに書かなきゃいいじゃん、って言うのもあるんですが、
ACL前後でパスワードが見れないかの確認のため実施。
【“Net::LDAPをつかってみる”の続きを読む】

オーストラリアドルの状態を呟くTwitterBotを作った

完全に自分用ですが。

前回、Twitterで日経平均をつぶやくBotを作ってみたでWeb::Scraperで情報を拾ってきてTwitterで呟くというやり方ができたので、今度は、オーストラリアドル/日本円の状態を呟くBotを作ってみた。

AUDJPY_bot

今回必要な情報を取得するのに、FireFoxのアドオンのFireBugっていうのをはじめて使ったんですが、これは良いですねぇ。捗る。

Ciscoで拡張Pingにおける送信元の指定に関して勘違いしている人は意外と多いと思う

タイトルながっ!!

ソースは俺(経験上)

拡張Pingで指定できる送信元IPアドレスは、その機器のインタフェースに設定されているIPアドレスが指定できるのであって、何でもかんでも指定できるものではない。

拡張 ping および拡張 traceroute コマンドの使用方法

引用

通常の ping コマンドがルータから送信される場合、ping の送信元アドレスは、パケットがルータを離れる際に使用するインターフェイスの IP アドレスになります。


知ってるつもりで意外と抜けがち


拡張 ping コマンドを使用すると、送信元 IP アドレスはルータ上の任意の IP アドレスに変更できます。


指定する際はIPアドレスのほかにインタフェース名でも指定可

[自分用メモ]いろんな機器のデフォルトパスワードのリスト

なんか、いまさら感がないわけでもないが、自分用メモとして書いておく。

いろんな機器のデフォルトパスワードの一覧

Default password list

アライドの Manager frined

とか

netscreenシリーズのnetscreen netscreenは結構有名ですが。



Twitterで日経平均をつぶやくBotを作ってみた

そういうわけで、TwitterBotつくりに挑戦してみた。

日経平均株価をYahoo!ファイナンスから取得して呟く日経平均Botちゃんを作ってみました。

Yahoo!ファイナンスからの情報取得なので、20分ディレイの株価表示です。

株価と前日比、時刻を表示。

途中で既に作っていた人を見つけてしまったのでどうしようかとも思ったのですが、TwitterBotを作って見ようということが目的のため、そのまま公開。

さくらインターネットのレンタルサーバ上で動かしてます。

関連エントリ:
[Perl] Web::Scraperを使ってYahoo!ファイナンスから日経平均株価を取得してみた

Net::Twitterを使ってとりあえず呟かせてみるテスト

一澤信三郎帆布のバックを買ったYO。

2泊3日で京都へ旅行に行ってきました。

京都で行って見たかったところで一澤帆布というところがあるんですが、もろもろの事情があり、今は一澤信三郎帆布の名前で営業しております。

もろもろの事情その2

%%http://maps.google.co.jp/maps?q=35.007650,135.777754+()&hl=ja&ie=UTF8&z=12%%35.007650%%135.777754%%12


一澤信三郎帆布
う~む・・・。色々思わせるこの並び。
ちなみに、一澤帆布のほうは現在営業していないようです。

店内の写真は、浮かれすぎて取ってないです。
嫁と2人であれがいい、これがいいと色々悩んだんですが。結局ショルダータイプのミニバックを買いました。

8400円。

バック1
布に包むと書いて「かばん」と読ませています。

バック2
かつては、一澤帆布でしたが、今は信三郎帆布というロゴに。

ほかにも、色々な種類のかばんがありましたが、そんなに安いものではないのでこれにしました。

通販もやってます。

Net::Twitterを使ってとりあえず呟かせてみるテスト

引き続きPerlネタ(いまさら)

いまさら感はありますが、自分は初めてやるので無問題!!

参考はこちら
実用! PerlでコマンドラインからTwitter投稿(OAuth対応)-perl-mongers.org-

APIの登録の仕方から簡単なコードの書き方まで丁寧に書いてあります。感謝!!

・・・で、つぶやいてみるテストは以下


#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use Net::Twitter;

my $twit = Net::Twitter->new(
traits => [qw/API::REST OAuth WrapError/],
consumer_key => 'コンシューマーキー',
consumer_secret => 'コンシューマーシークレット',
ssl => 1,
);
$twit->access_token ('アクセストークン');
$twit->access_token_secret('アクセストークンシークレット');

$twit->update('てすと');
exit;

twitest.jpg

[Perl] Web::Scraperを使ってYahoo!ファイナンスから日経平均株価を取得してみた

タイトルのとおり。以上。

とりあえず、すぐ忘れるから備忘録として。

Scrapingとかどうやってやるのか、よくわかんなくて、Web::Scraperに辿り着いて使ってみるまで、ものすごく時間かかりましたが、書いてみるとものすごく短いコード。ステキ


#!/usr/bin/perl

use strict;
use warnings;
use Web::Scraper;
use URI;

my $scraper = scraper {
process '//table[@border="1"]/tr[2]/td[3]','name' => 'TEXT';
process '//table[@border="1"]/tr[2]/td[5]','price' => 'TEXT';
process '//table[@border="1"]/tr[2]/td[6]','percent' => 'TEXT';
};

my $res = $scraper->scrape(URI->new("http://quote.yahoo.co.jp/q?s=998407.o"));

print $res->{name}."\n";
print $res->{price}."\n";
print $res->{percent}."\n";



結果

日経平均株価??
9,239.17
+140.78



あら?後ろの??はなんだ?
・・まぁ、これは後で対応。

参考サイト(参考というか、ずばりまんま・・・・感謝!!)
scraper CLI で遊ぶ その2 -へたっぴ日記-


FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。