/bin/ping
は、通信確認用によく使われる。このコマンドは、IPのプロトコルの一つであるICMPのType 8、Echo Requestを対象ホストへ送信し、ICMP Type 0、Echo Replyが返ってくるかどうかを確認する(『ネットワークの疎通を確認するには?~ping/traceroute~』)。ただし、TCPやUDPで通信はできるのに、pingは失敗する、という場合もある。例えば、対象ホストでiptablesが働いていて、pingに応答しないよう設定されている場合などだ。Firewallなどのセキュリティ製品の場合、デフォルトでpingに応答しない場合もある。このような場合の代替手段の一つが、
/usr/sbin/arping
だ。このコマンドは、
ping
がICMPを利用する代わりに、ARPを利用する。ARPは、Ethernet環境において、IPアドレスからMACアドレスを得るために用いられるプロトコル。Echo Requestに応答しないよう設定されているホストでも、IPで通信する必要があれば、必ずARPには応答する。# /usr/sbin/arping -I eth0.4001 192.168.56.192このコマンドを使用する場合の注意点は以下の通り。
ARPING 192.168.56.192 from 192.168.56.195 eth0.4001
Unicast reply from 192.168.56.192 [XX:XX:XX:XX:XX:XX] 0.703ms
Unicast reply from 192.168.56.192 [XX:XX:XX:XX:XX:XX] 0.672ms
Unicast reply from 192.168.56.192 [XX:XX:XX:XX:XX:XX] 0.983ms [CTRL]+[C]
Sent 3 probes (1 broadcast(s))
Received 3 response(s)
#
- root権限で実行しなければならない。
- 同一セグメント内でしか使用できない(ARPの原理より明らか)。
- インターフェースが複数ある場合は、
-I インターフェース
で指定しなければならない(上の実行例参照)。
0 件のコメント:
コメントを投稿