Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用ip和端口号打印通过/失败的telnet结果?_Linux_Shell_Unix - Fatal编程技术网

Linux 如何使用ip和端口号打印通过/失败的telnet结果?

Linux 如何使用ip和端口号打印通过/失败的telnet结果?,linux,shell,unix,Linux,Shell,Unix,我试图打印没有连接或没有连接的IP端口号,目前我在两个文件中得到结果,但它没有告诉我哪个端口失败或完成 LOG_OK=/var/opt/Logs/port-check-success.log LOG_FAIL=/var/opt/Logs/port-check-failed.log for host in 1.1.11.1 2.2.2.1 5.6.61.3 do for port in 80 443 do if timeout 5 telnet -c $host $port </dev/nu

我试图打印没有连接或没有连接的IP端口号,目前我在两个文件中得到结果,但它没有告诉我哪个端口失败或完成

LOG_OK=/var/opt/Logs/port-check-success.log
LOG_FAIL=/var/opt/Logs/port-check-failed.log
for host in 1.1.11.1 2.2.2.1 5.6.61.3
do
for port in 80 443
do
if timeout 5 telnet -c $host $port </dev/null 2>&1 | grep -q Escape; then
echo  "$port: Connected" >> $LOG_OK
else
echo "$port : no connection" >> $LOG_FAIL
fi
done
done 
LOG\u OK=/var/opt/Logs/port-check-success.LOG
LOG_FAIL=/var/opt/Logs/port-check-failed.LOG
对于1.1.11.1 2.2.2.1 5.6.61.3中的主机
做
80 443中的端口
做
如果超时5 telnet-c$host$port&1 | grep-q Escape;然后
echo“$port:Connected”>>$LOG\u正常
其他的
echo“$port:无连接”>>$LOG\u失败
fi
完成
完成
您可以试试这个

LOG_OK=/var/opt/Logs/port-check.log
for host in 1.1.11.1 2.2.2.1 5.6.61.3
do
        checkp80=$(nmap -p 80 $host | grep 80 | awk '{print $2}')
        checkp443=$(nmap -p 443 $host | grep 443 | awk '{print $2}' )
echo $host "Port80:"$checkp80 "Port443:"$checkp443 >> $LOG_OK
done
或者用你原来的剧本

LOG_OK=/var/opt/Logs/port-check-success.log
LOG_FAIL=/var/opt/Logs/port-check-failed.log
for host in 1.1.11.1 2.2.2.1 5.6.61.3
do
for port in 80 443
do
if timeout 5 telnet -c $host $port </dev/null 2>&1 | grep -q Escape; then
echo  "$host: $port: Connected" >> $LOG_OK
else
echo "$host: $port : no connection" >> $LOG_FAIL
fi
done
done
LOG\u OK=/var/opt/Logs/port-check-success.LOG
LOG_FAIL=/var/opt/Logs/port-check-failed.LOG
对于1.1.11.1 2.2.2.1 5.6.61.3中的主机
做
80 443中的端口
做
如果超时5 telnet-c$host$port&1 | grep-q Escape;然后
echo“$host:$port:Connected”>$LOG\u正常
其他的
echo“$host:$port:无连接”>>$LOG\u失败
fi
完成
完成

但是日志失败的地方!!!?我的也在做telnet,但我没有在你的脚本中看到telnet!不管怎样,我只是在我的linux测试盒中的一个上试了一下,没有找到显示nmap命令!!!!你能帮我处理我的原始脚本吗?我建议你安装nmap扫描仪,这个脚本将数据记录到一个文件中,在那里你可以看到每个主机相关的打开/关闭端口80/443,我也编辑了你的脚本