59462


arp-scanで取得したipアドレスに一斉にpingを送る方法を模索しています。

一度ターミナルに出力された結果をテキストファイルに保存し、そこからpingを送ろうとしているのですが、上手くいきません。

python自体知識が全くないので、どのようなプログラムを書けばいいのかわかりません。  
分かる方がいればお願いします。

下記にarp-scanの一例を記載しておきます。(一部変えています)

[code]

    $ 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
    
    
[/code]

* * *

ipアドレスのみ抽出することは出来たのですが、ここから一括でpingを送る方法を考えています。  
ipアドレスをリスト化？ してfor文で送ろうとしてみましたが、知識不足で動きませんでした。

[code]

    import subprocess
    cmd = "sudo arp-scan  -l |grep '192' | awk '{print $1}'"
    subprocess.call(cmd, shell=True)
    
[/code]

実行結果

[code]

    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
    
[/code]


CC BY-SA 4.0
2019-10-04T07:52:49.893
59457
2019-10-09T02:31:59.060
2019-10-09T02:31:59.060
19110
36070
question
python shellscript
arp-scanで取得したipアドレスへ一斉にpingを送りたい


参考までに、[fping](https://raspberry-projects.com/pi/software_utilities/fping)
コマンドが使える環境なら以下の様なワンライナーで実行できます。

[code]

    $ arp-scan -l | grep '^192' | awk '{ print $1 }' | fping -c 1
    
[/code]


CC BY-SA 4.0
2019-10-04T08:38:47.213
59462
2019-10-04T08:38:47.213
3060
59457
answer