私はネットワークに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
一致する行の最後のフィールドを印刷するように求められます。