-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.ja
More file actions
110 lines (82 loc) · 2.55 KB
/
README.ja
File metadata and controls
110 lines (82 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
* BulkPing
複数のホスト宛の ping をまとめて扱える Ruby エクステンションです。
* 動作環境
今のところ Debian GNU/Linux (lenny) と Ruby 1.8.x の組み合わせ
のみ動作を確認しています。
* インストール
RubyGems を使います。
# gem build bulkping-gemspec
# gem install bulkping-0.1.1.gem
* リファレンス
BulkPing::ICMP.new
BulkPing::ICMP オブジェクトを生成します。
BulkPing::ICMP#ping(targets)
指定された targets に向けて ICMP echo リクエストを送信します。
targets には対象 IP アドレスの配列を渡します。
IP アドレスの記述方法には以下の 3 つがあります。
- IP アドレス
例: '192.168.0.1'
- IP アドレス範囲
例: '192.168.0.1-192.168.0.100'
- ネットワーク
例: '192.168.0.0/24'
BulkPing::ICMP#ping(targets) {|host, result| ... }
ping を送信した各アドレスについて、アドレスと結果をブロックに適用します。
BulkPing::ICMP#alive?(target)
ping の結果、target から応答があったか否かを返します。
BulkPing::ICMP#alive
ping の結果、応答があったアドレスの配列を返します。
BulkPing::ICMP#dead
ping の結果、応答がなかったアドレスの配列を返します。
* サンプル
require 'rubygems'
require 'bulkping'
bp = BulkPing::ICMP.new
bp.ping('192.168.0.1', '192.168.0.2', '192.168.0.3', '192.168.0.4')
if bp.alive?('192.168.0.1')
puts "192.168.0.1 is alive"
else
puts "192.168.0.1 is dead"
end
puts "-- alive --"
puts bp.alive
puts "-- dead --"
puts bp.dead
bp.ping('192.168.0.1-192.168.0.100')
puts "-- alive --"
puts bp.alive
bp.ping('192.168.0.0/24')
puts "-- alive --"
puts bp.alive
bp.ping('192.168.0.1', '192.168.0.2', '192.168.0.3') do |addr, result|
puts "addr=#{addr}, result=#{result}"
end
* 実行例
192.168.0.1 is alive
-- alive --
192.168.0.1
-- dead --
192.168.0.2
192.168.0.3
192.168.0.4
-- alive --
192.168.0.1
-- alive --
192.168.0.0
192.168.0.1
192.168.0.31
192.168.0.51
192.168.0.61
192.168.0.62
192.168.0.63
192.168.0.64
192.168.0.151
192.168.0.161
192.168.0.255
addr=192.168.0.1, result=true
addr=192.168.0.2, result=false
addr=192.168.0.3, result=false
* ライセンス
Copyright (c) 2010 Satoshi Ebisawa <ebisawa@gmail.com>
All rights reserved.
詳しくは付属の LICENSE ファイルを参照してください。