ホスト検証のための単純なBashスクリプト

ホスト検証のための単純なBashスクリプト

現在アクティブなシステムを確認するためにbashでツールを作成しようとしています。狂気の複雑なツールになる必要はありません。私のコンピュータが動作していることを知らせるためだけに必要です。私は私のスクリプトがGarboであることを知っていました...それが私がここにいる理由です。

#!/bin/bash

here()
{
ping -c 1 $1 > dev/null
echo "Good morning, Here are the machines that are up and running: $i"
}

for i in insert ip range
do here $i
done

ベストアンサー1

nmapに関するいくつかの点を考慮していますか?

nmap -sP 10.1.2.0/24 10.2.5.0/24

これはpingループよりも簡単で、複数のホストを並列に検索できるため、高速です。ただし、nmapと一般的な依存関係をインストールする必要があるため、常駐セキュリティ担当者は最悪のシナリオに集中する可能性があります。

アップデート:いいですね。もちろんOberleutnantenです。

代わりに:

xargs parallel -j20 ping -c1 -- | grep 'bytes from'

良い

echo 10.0.{1..2}.{1..15} |\
  xargs parallel -j20 ping -c1 -- | grep 'bytes from'

64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from 10.0.2.3: icmp_seq=1 ttl=64 time=0.150 ms
64 bytes from 10.0.2.4: icmp_seq=1 ttl=64 time=0.176 ms
64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.138 ms

ほとんどの時間は、pingがすぐに終了するのを待つのに費やされるので、タイミングも良いです。まもなく肯定的な結果が出るでしょう。

$ time (echo 10.0.{1..2}.{1..15} | xargs parallel -j30 ping -c1 -- | grep 'bytes from')
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from 10.0.2.3: icmp_seq=1 ttl=64 time=0.150 ms
64 bytes from 10.0.2.4: icmp_seq=1 ttl=64 time=0.176 ms
64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.138 ms

real    0m10.030s
user    0m0.019s
sys     0m0.018s

Winboxもスニッフィングするには、pingを嫌うarpingと特定のパラメータをpingに置き換えます。

もっとクールにしたい場合は、cheesy grepをawk '/bytes from/{print $4}'に置き換えてください。

間違いなく他の人のアイデアは素晴らしいクイズの提出のように見え、私のアイデアはドライバーで釘を打つように見えましたが、速くて簡単でした。

おすすめ記事