Shell 仅从打开端口上的nmap扫描输出IP

Shell 仅从打开端口上的nmap扫描输出IP,shell,nmap,Shell,Nmap,我想在我的子网中找到ssh打开的计算机,但它会显示结果中出现的所有主机,而不仅仅是具有打开端口的主机。这是我的命令 nmap -PN -p 22 --open -oG - 192.168.*.* | awk '{print $2}' > sshopen.txt 谢谢您可以选择使用awk仅在某些情况下打印,而不是在所有情况下打印 例如,以下内容与最后一个字段匹配,如果它包含ssh(但您也可以测试22),那么它将打印IP nmap -PN -p 22 --open -oG - 192.168

我想在我的子网中找到ssh打开的计算机,但它会显示结果中出现的所有主机,而不仅仅是具有打开端口的主机。这是我的命令

nmap -PN -p 22 --open -oG - 192.168.*.* | awk '{print $2}' > sshopen.txt

谢谢

您可以选择使用awk仅在某些情况下打印,而不是在所有情况下打印

例如,以下内容与最后一个字段匹配,如果它包含ssh(但您也可以测试22),那么它将打印IP

nmap -PN -p 22 --open -oG - 192.168.*.* | awk '$NF~/ssh/{print $2}' > sshopen.txt

当我不将其输出到文本文件时工作正常,但当我不执行任何操作时,会显示uppersumable,因为命令的输出将进入文本文件而不是屏幕。如果您希望输出同时进入屏幕和文件,请使用
|tee sshopen.txt
而不是
>sshopen.txt
。它只是花了一段时间才显示在文本文件中,可能是在等待扫描百分比完成,谢谢大家!