nmap出力は、IPアドレスでソートされたCSV形式です。

nmap出力は、IPアドレスでソートされたCSV形式です。

IPアドレス、MACアドレス、およびIPアドレスでソートされたMACベンダーのリストを提供する優れたタスクを実行するこのコマンドがあります。

sudo nmap -sn 192.168.103.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print ","substr($0, index($0,$3)) }' | sort -t . -k 4,4n

私がしなければならないのは、2番目と3番目の列の間にカンマを入れるようにawk printステートメントを変更することだけです。したがって、基本的に3つの列があります。列1はIPアドレス、列2はMACアドレス、列3はMACベンダー名、すべての行はIPアドレスでソートされています。 2番目の列と3番目の列の間のカンマを除いて、必要なものをすべて取得します。これはデータベースに入力するためのCSVファイルです。

答え1

簡単な解決策は、結果を別のawkにパイプすることです。

nmap -sn 192.168.103.0/24 | \
    awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print ","substr($0, index($0,$3)) }' | \
    awk '{ print $1","$2" "$3" "$4" "$5" "$6 }' | tr -d '()'  | sort -t . -k 4,4n

コマンドの先頭は、追加したばかりのものと同じです。awk '{ $1 印刷',"$2" "$3" "$4" "$5" "$6 }'2番目の昏睡状態を追加

そしてtr -d '()'ここから、Macベンダーの周りのブラケットを取り外します。

関連情報