可以nmap列出本地网络上同时打开 SSH 和 HTTP 的所有主机吗?为此,我可以运行以下内容:
nmap 192.168.1.1-254 -p22,80 --open
Run Code Online (Sandbox Code Playgroud)
但是,这列出了打开任何列表端口的主机,而我想要打开所有端口的主机。此外,输出非常冗长:
# nmap 192.168.1.1-254 -p22,80 --open
Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-31 10:14 EST
Nmap scan report for Wireless_Broadband_Router.home (192.168.1.1)
Host is up (0.0016s latency).
Not shown: 1 closed port
PORT STATE SERVICE
80/tcp open http
Nmap scan report for new-host-2.home (192.168.1.16)
Host is up (0.013s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 254 IP addresses (7 hosts up) scanned in 3.78 …Run Code Online (Sandbox Code Playgroud) 我目前正在构建的工具中有此代码:
while [ $# -gt 0 ]; do
case "$1" in
--var1=*)
var1="${1#*=}"
;;
--var2=*)
var1="${1#*=}"
;;
--var3=*)
var1="${1#*=}"
;;
*)
printf "***************************\n
* Error: Invalid argument.*\n
***************************\n"
esac
shift
done
Run Code Online (Sandbox Code Playgroud)
我有很多选项要添加,但我的五个选项应该保存为数组。因此,如果我调用该工具,让我们从 shell 中使用以下内容说:
./tool --var1="2" --var1="3" --var1="4" --var1="5" --var2="6" --var3="7"
如何将 的值保存var1为数组?那可能吗?而且,如果是这样,如果我有太多数组,那么在效率方面处理这些数组的最佳方法是什么?