使用 ss 检查打开的端口
Checking open ports using ss
我需要在指定的地址范围 192.168.1(例如 100-105)中检查 linux tcp :80
和 tcp :443
上的开放端口,并打印可用的端口hosts 和 ports ,我想我已经使用 nmap 实现了它,它看起来像这样:
nmap -sT -p 80, 443 192.168.0.-255
但是,我需要使用内置工具,因此我决定使用 ss 命令来实现。
到目前为止我写的是这样的:
for i in {0..255}
do
echo '$i'
ss -ant '( src 192.168.1.$i or dst 192.168.1.$i ) and ( ( dport = :80 or dport = :443 ) or ( sport = :443 or sport = :80 ) )'
done
但它不起作用,因为 $i
变量放在引号内。我不确定我是否做对了,但这是我到目前为止所做的。(我只是网络的初学者)
我现在无法访问 linux shell,但请尝试使用双引号,如下所示:
#!/bin/bash
for i in {0..255}
do
echo "$i"
ss -ant "( src 192.168.1.$i or dst 192.168.1.$i ) and ( ( dport = :80 or dport = :443 ) or ( sport = :443 or sport = :80 ) )"
done
我需要在指定的地址范围 192.168.1(例如 100-105)中检查 linux tcp :80
和 tcp :443
上的开放端口,并打印可用的端口hosts 和 ports ,我想我已经使用 nmap 实现了它,它看起来像这样:
nmap -sT -p 80, 443 192.168.0.-255
但是,我需要使用内置工具,因此我决定使用 ss 命令来实现。 到目前为止我写的是这样的:
for i in {0..255}
do
echo '$i'
ss -ant '( src 192.168.1.$i or dst 192.168.1.$i ) and ( ( dport = :80 or dport = :443 ) or ( sport = :443 or sport = :80 ) )'
done
但它不起作用,因为 $i
变量放在引号内。我不确定我是否做对了,但这是我到目前为止所做的。(我只是网络的初学者)
我现在无法访问 linux shell,但请尝试使用双引号,如下所示:
#!/bin/bash
for i in {0..255}
do
echo "$i"
ss -ant "( src 192.168.1.$i or dst 192.168.1.$i ) and ( ( dport = :80 or dport = :443 ) or ( sport = :443 or sport = :80 ) )"
done