エンマップ出力

エンマップ出力

私はネットワークに1台のコンピュータと1台のプリンタしかないプロジェクトを進めています。私が望むのは、プリンタがネットワークに接続されているときを検出することです。私もコンピュータが192.168.3.1。しかし、DHCPを使用すると、プリンタのアドレスを知ることはできません(たとえば、簡単にするために静的に作成できますが、「彼ら」はそれを好きではありません。「彼ら」はそれが動的であることを望みます)

私が持っているのは、次のことを行うスクリプトです。

nmap -sP 192.168.3.0/24 \
  | awk '/192.168.3/ && !/192.168.3.1$/' \
  | sed 's/Nmap scan report for //'

エンマップ出力

 Nmap scan report for 192.168.3.1
 Host is up (0.014s latency).
 Nmap scan report for 192.168.3.100
 Host is up (0.012s latency).
 Nmap done: 256 IP addresses (2 hosts up) scanned in 2.54 seconds

スクリプト出力

 192.168.3.100

動作するのに数秒しかかかりませんが、より良い、よりきれいで、より速い方法はありますか?

ベストアンサー1

awkこれを行うには、次のコマンドを使用できます。

nmap -sP 192.168.3.0/24 \
  | awk '/192.168.3/ && !/192.168.3.1$/{print $NF}'

awk一致する行の最後のフィールドを印刷するように求められます。

おすすめ記事