サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
pingとarpを利用してIPの重複チェックができないか試してみます。
◆環境OS | CentOS release 5.8 (Final) Linux localhost.localdomain 2.6.18-308.11.1.el5 #1 SMP Tue Jul 10 08:48:43 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux |
---|
任意のIPアドレスにpingを飛ばし、arpテーブルのMACアドレスを抽出します。
IPアドレスが重複している機器がある場合、arpテーブルのMACアドレスがあるタイミングではAと、別のタイミングではBのように変わると予想しています。
簡単なシェルを作成します。 実行した時間が分かるように最初にdateを入れました。
ArpCheck.sh | ||
|
実行してみます。
# ./ArpCheck.sh
----+----|----+----|----+----|
2016年 3月 25日 金曜日 14:34:57 JST
PING 192.168.0.214 (192.168.0.214) 56(84) bytes of data.
From 192.168.0.100 icmp_seq=2 Destination Host Unreachable
From 192.168.0.100 icmp_seq=3 Destination Host Unreachable
From 192.168.0.100 icmp_seq=4 Destination Host Unreachable
--- 192.168.0.214 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 30
00ms
, pipe 3
? (192.168.0.214) at <incomplete> on eth0
----+----|----+----|----+----|
2016年 3月 25日 金曜日 14:34:57 JST
PING 192.168.0.214 (192.168.0.214) 56(84) bytes of data.
From 192.168.0.100 icmp_seq=2 Destination Host Unreachable
From 192.168.0.100 icmp_seq=3 Destination Host Unreachable
From 192.168.0.100 icmp_seq=4 Destination Host Unreachable
--- 192.168.0.214 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 30
00ms
, pipe 3
? (192.168.0.214) at <incomplete> on eth0
上手く動きました。
10分間隔で実行するようにcrontabに仕込みます。 出力結果をArpCheck.logに吐き出すようにします。
*/10 * * * * /root/WORK/ArpCheck.sh >> /tmp/ArpCheck.log
実行結果を確認します。
# # cat /tmp/ArpCheck.log
----+----|----+----|----+----|
Fri Mar 25 14:50:01 JST 2016
PING 192.168.0.214 (192.168.0.214) 56(84) bytes of data.
From 192.168.0.100 icmp_seq=2 Destination Host Unreachable
From 192.168.0.100 icmp_seq=3 Destination Host Unreachable
From 192.168.0.100 icmp_seq=4 Destination Host Unreachable
--- 192.168.0.214 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 30
00ms
, pipe 3
----+----|----+----|----+----|
Fri Mar 25 14:50:01 JST 2016
PING 192.168.0.214 (192.168.0.214) 56(84) bytes of data.
From 192.168.0.100 icmp_seq=2 Destination Host Unreachable
From 192.168.0.100 icmp_seq=3 Destination Host Unreachable
From 192.168.0.100 icmp_seq=4 Destination Host Unreachable
--- 192.168.0.214 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 30
00ms
, pipe 3
arpの出力結果が出ていません。
メールを受け取ったので見てみます。
You have new mail in /var/spool/mail/root
メールの内容はmailコマンドで確認できます。
Message 3351:
From root@localhost.localdomain Fri Mar 25 15:00:04 2016
Date: Fri, 25 Mar 2016 15:00:04 +0900
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron <root@localhost> /root/WORK/ArpCheck.sh >> /tmp/ArpCheck.
log
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
/root/WORK/ArpCheck.sh: line 5: arp: command not found
From root@localhost.localdomain Fri Mar 25 15:00:04 2016
Date: Fri, 25 Mar 2016 15:00:04 +0900
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron <root@localhost> /root/WORK/ArpCheck.sh >> /tmp/ArpCheck.
log
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
/root/WORK/ArpCheck.sh: line 5: arp: command not found
arp command not foundと出ていますね。
Copyright (C) 2016 ymlib.com