私は「Penetration Testing:Hands-On...」という本を読んでいますが、この単純なbashスクリプトの実行中に障害物に遭遇しました。
このスクリプトは、デフォルトで指定されたネットワーク上のすべての254ホストにpingを送信してICMP応答を取得するようです。私はこれをnanoで書いていますが、pingコマンドを押すまではすべて大丈夫です。 「ping」は色などを変更しないため、nanoはそれをコマンドとして認識しないと仮定します。なぜそうなのかよく分からない。 IPアドレスのpingに問題はありませんが、スクリプト内では機能しないようです。
#!/bin/bash
if [ "$1" == "" ]
then
echo "Usage: ./pingscript.sh [network]"
echo "example: ./pingscript.sh 192.168.0"
else
for x in 'seq 1 254' ; do
ping -c 1 $1.$x | grep "64 bytes"
done
fi
pingコマンドが機能しないのはなぜですか?前述のように、「ping」はナノ内で色を変更しません。また、スクリプトを実行すると、「ping:192.168.0.seq:名前またはサービスが不明です」というエラーが発生します。
今私はカリーの最新バージョンを使用していますが、この本は1.0.6を使用しています。どんな洞察力でも感謝します。
答え1
この設定を変更してください
for x in 'seq 1 254'
到着
for x in `seq 1 254`
または
for x in $(seq 1 254)