[英]Shell/Bash script telnet testing a multicast address
我正在尝试创建一个shell / bash脚本以telnet测试到多播地址。 我目前有以下内容:
telnet <ip_address> <port_number>
但是,这挂起:
<server_name>% ./telnet_test.sh
Trying <ip_address>...
Connected to <ip_address>.
Escape character is '^]'.
//Hangs here for a few seconds...
Connection to <ip_address> closed by foreign host.
如何测试多播地址并在成功后立即返回,这样我就不必等到外部主机关闭连接。
我将需要在同一脚本中测试多个地址。
编辑:
我应该提到我是一个银行网络,防火墙受到严格控制,我无法安装netcat。
该测试的目的只是看我是否可以从当前主机连接到该路由。
请改用netcat
。
-z
扫描侦听守护程序。
-w 3
秒后超时
#!/bin/bash
host_list="www.google.com www.stackoverflow.com"
port=80
for host in $host_list; do
nc -z -w 3 $host $port > /dev/null 2>&1
if [[ $? = 0 ]]; then
printf "%s%s%s\n" " [$host:" "UP" "]"
else
printf "%s%s%s\n" " [$host:" "DOWN" "]"
fi
done
如果你expect
安装,你可以用它来控制你telnet
:
#!/usr/bin/except
spawn telnet <ip address> <port number>
set timeout 10
expect "Connected to"
send "exit\r"
检查man expect
和其他文章以获取更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.