arp-scanで取得したipアドレスへ一斉にpingを送りたい
arp-scanで取得したipアドレスに一斉にpingを送る方法を模索しています。
一度ターミナルに出力された結果をテキストファイルに保存し、そこからpingを送ろうとしているのですが、上手くいきません。
python自体知識が全くないので、どのようなプログラムを書けばいいのかわかりません。
分かる方がいればお願いします。
下記にarp-scanの一例を記載しておきます。(一部変えています)
$ arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.4 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.1 00:11 Dell ESG PCBA Test
192.168.0.2 00:12 Intel Corporation
192.168.0.3 00:16 Dell Inc.
192.168.0.4 00:10 Juniper Networks, Inc.
192.168.0.5 00:01 Hewlett-Packard Company
192.168.0.6 00:04 Cisco Systems, Inc.
192.168.0.7 00:30: HEWLETT-PACKARD
ipアドレスのみ抽出することは出来たのですが、ここから一括でpingを送る方法を考えています。
ipアドレスをリスト化? してfor文で送ろうとしてみましたが、知識不足で動きませんでした。
import subprocess
cmd = "sudo arp-scan -l |grep '192' | awk '{print $1}'"
subprocess.call(cmd, shell=True)
実行結果
192.168.2.1
192.168.2.11
192.168.2.12
192.168.2.14
192.168.2.107
192.168.2.108
192.168.2.112
192.168.2.113
192.168.2.203