time nmap -n -iR 0 -sL | cut -d " " -f 5 | egrep -v "^10.*|^172.[16\-32].*|^192.168.*|^[224\-255].*" > RANDOM-IPS.txt
したがって、重要な部分は次のとおりです。
egrep -v "^10.*|^172.[16\-32].*|^192.168.*|^[224\-255].*"
尋ねる:これは良い正規表現ですか? /その後、すべての2^32 IPv4アドレスを作成し、プライベート/ブロードキャスト範囲を「grep -v」します。 /またはインターネットで利用可能なIPv4アドレスを生成するより良い方法はありますか?
ベストアンサー1
単一のコマンドに正規表現を入力すると、通常は少し面倒です。これより良いのは、grep
次の利点を活用できることです。-f
オプション:
-f FILE, --file=FILE Obtain patterns from FILE, one per line. The empty file contains zero patterns, and therefore matches nothing. (-f is specified by POSIX.)
したがって、各行に特定のIP系列/範囲に一致する正規表現を含むファイルを作成します。その後、-f
このオプションを一緒に使用します-v
。