LAN IPを指定せずにNMapを使用したLANスキャン

LAN IPを指定せずにNMapを使用したLANスキャン

NMapスキャン用にIP範囲と個々のIPを指定できることに精通しています。さて、IPを指定せずに接続されたLANをスキャンできるコマンドがあるかどうかを知りたいです。

状況によっては、一部のLANには192.168.0.1があり、他のLANには192.168.10.1があります。私はNMapにこの要素を自動的に認識し、それに基づいてスキャンを実行させる方法を探しています。

可能ですか?

答え1

次のコマンドを使用してこれを実行できますip a

nmap `ip a | grep "inet " | grep -v 127.0.0.1|  sed -re 's/^[[:blank:]]+|[[:blank:]]+$//g' -e 's/[[:blank:]]+/ /g' | cut -d" " -f2`

サブドメインマスクでIPアドレスを取得し、パラメータとして使用します。nmap必要に応じて追加のパラメータを追加する必要があります。

答え2

ifconfigサンプルawkスクリプトを使用して、フォーマットをIP /プレフィックスに設定できます。コマンドは次のようになります。

ifconfig | awk -F'[ :]' -f f

fファイルの場所は次のとおりです。

 function cnt(N){
 c = 0
 for(i=0; i<8; ++i) if(and(2**i, N)) ++c
 return c
    }
function s2p(mask) {
split(mask, v, ".")
return cnt(v[1]) + cnt(v[2]) + cnt(v[3]) + cnt(v[4])
    }

  /inet/ && !/127.0.0.1/  {print $3"/"s2p($6)}
   

この関数は単にネットマスクのawk数量を計算します。1

関連情報